Frage INSERT Batch und wenn Duplicate Key in Codeigniter aktualisieren


Gibt es eine Möglichkeit, im Stapel die Abfrage einzufügen und wenn der Schlüssel bereits existiert, UPDATE diese Zeile im Codezeichen? Ich habe die Dokumentation durchgelesen und nur insert_batch und update_batch gefunden. Aber wie aktualisiert man die Zeile mit doppeltem Schlüssel in aktiven Datensätzen? Und was passiert, wenn eine Zeile in batch_insert nicht eingefügt oder aktualisiert wird? Alles Einfügen schlägt fehl oder nur diese Zeile?


6
2017-12-24 06:24


Ursprung


Antworten:


Sie müssen mit einer kleinen benutzerdefinierten Abfrage gehen, indem Sie die Anweisung "ON DUPLICATE" hinzufügen

$sql = $this->db->insert_string('YourTable', $data) . ' ON DUPLICATE KEY UPDATE duplicate=duplicate+1';
$this->db->query($sql);
$id = $this->db->insert_id();

Also bitte check das aus, es wird Ihnen eine bessere Lösung geben


6
2017-12-24 06:31