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

Beim Duplicate Key Update dasselbe wie beim Einfügen

Das UPDATE Anweisung wird gegeben, damit ältere Felder auf neue Werte aktualisiert werden können. Wenn Ihre alten Werte die gleichen wie Ihre neuen sind, warum sollten Sie sie dann trotzdem aktualisieren?

Für zB. wenn Ihre Spalten a zu g sind bereits auf 2 gesetzt bis 8; es wäre keine erneute Aktualisierung erforderlich.

Alternativ können Sie verwenden:

INSERT INTO table (id,a,b,c,d,e,f,g)
VALUES (1,2,3,4,5,6,7,8) 
ON DUPLICATE KEY
    UPDATE a=a, b=b, c=c, d=d, e=e, f=f, g=g;

Um die id zu erhalten von LAST_INSERT_ID; Sie müssen die Back-End-App angeben, die Sie dafür verwenden.

Für LuaSQL ein conn:getlastautoid() holt den Wert.