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

Ist die Reihenfolge der Einfügungen für INSERT IGNORE ... SELECT angegeben?

Die insert -Anweisung gibt nicht die Reihenfolge an, in der die Zeilen eingefügt werden - die select Aussage tut. Es sei denn, Sie definieren die Reihenfolge explizit mit einem order by -Klausel, die Reihenfolge select Zeilen zurückgibt, hängt vollständig von der Datenbank ab und sollte nicht vertrauenswürdig sein.

Mit anderen Worten, wenn es Ihnen wichtig ist, welche Zeile eingefügt und welche ignoriert wird, fügen Sie ein order by hinzu -Klausel zu Ihrem select hinzufügen -Anweisung und vergewissern Sie sich, dass die Zeile, die Sie einfügen möchten, an erster Stelle steht.