Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Knifflige MySQL-Batch-Abfrage

Verwenden Sie keine automatisch inkrementierenden Spalten – weisen Sie Ihre Referenz-IDs vor dem Einfügen zu. Auf diese Weise können Sie eine Masseneinfügung verwenden und die Abhängigkeit entfernen.

Aktualisieren:

  1. Wählen Sie alle vorhandenen IDs aus der Datenbank aus (idealerweise eine einzelne Auswahl für alle bekannten Daten).

  2. Reichern Sie Daten zum Einfügen mit bekannten IDs an. (berechnen Sie einen Schlüssel für jeden Artikel, der dem Primärschlüssel für Ihre Tabelle in der Datenbank entsprechen würde, verwenden Sie diesen, um den Artikel mit der ID aus der Datenbank zu aktualisieren) - Sie möchten die Daten letztendlich in Artikel aufteilen, die Sie kennen in der Datenbank, und haben somit eine bekannte ID - und Daten, die nicht in der Datenbank existieren und somit eine Schlüsselzuweisung benötigen. Ich gehe davon aus, dass Ihre Tabelle einen Primärschlüssel hat, der nicht nur die ID ist - wie sonst würde die Datenbank sonst wissen, dass Sie die Daten bereits in der Datenbank haben.

  3. Allen Datensätzen ohne ID neue IDs zuweisen.

  4. Massenersetzen von Daten in der Datenbank (Einfügen mehrerer Zeilen mit einer einzigen Anweisung).