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:
<code class="php">$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();</code>
Durch das Hinzufügen der Anweisung „ON DUPLICATE KEY UPDATE duplikat=LAST_INSERT_ID(duplicate)“ wird sichergestellt, dass das Duplikatfeld beim Auffinden eines doppelten Schlüssels erhöht wird, während der Einfügen ist erfolgreich. 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.
Das obige ist der detaillierte Inhalt vonWie verwende ich „ON DUPLICATE KEY UPDATE' mit den ActiveRecord-Modellen von CodeIgniter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!