„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie verwende ich „ON DUPLICATE KEY UPDATE“ mit den ActiveRecord-Modellen von CodeIgniter?

Wie verwende ich „ON DUPLICATE KEY UPDATE“ mit den ActiveRecord-Modellen von CodeIgniter?

Veröffentlicht am 10.11.2024
Durchsuche:931

How to Use \'ON DUPLICATE KEY UPDATE\' with CodeIgniter\'s ActiveRecord Models?

Verwenden von „ON DUPLICATE KEY UPDATE“ mit den ActiveRecord-Modellen von CodeIgniter

In CodeIgniter-Modellen können Sie die Standard-Einfügemethode verwenden, aber Sie benötigen um die Anweisung „ON DUPLICATE KEY UPDATE“ manuell zur SQL-Abfrage hinzuzufügen. So können Sie dies erreichen:

$data = [
    'name' => 'John Doe',
    'age' => 30
];

// Create the insert string
$sql = $this->db->insert_string('users', $data);

// Append the "ON DUPLICATE KEY UPDATE" statement
$sql .= ' ON DUPLICATE KEY UPDATE duplicate=LAST_INSERT_ID(duplicate)';

// Execute the query
$this->db->query($sql);

// Get the insert ID
$id = $this->db->insert_id();

Durch das Hinzufügen der Anweisung „ON DUPLICATE KEY UPDATE duplikat=LAST_INSERT_ID(duplicate)“ wird sichergestellt, dass das doppelte Feld beim Auffinden eines doppelten Schlüssels angezeigt wird wird erhöht, solange die Einfügung erfolgreich ist. Mit der Funktion LAST_INSERT_ID() können Sie die ID der neu eingefügten Zeile abrufen, auch wenn aufgrund des doppelten Schlüssels eine Aktualisierung erfolgt.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729663515 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3