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

MySQL INSERT ... ON DUPLICATE KEY UPDATE auf Java:So unterscheiden Sie die Zustände Inserted/Updated/NoChange

Anscheinend müssen Sie useAffectedRows festlegen manuell in den Treibereigenschaften.

Ich habe die Lösung nach einigem Googeln gefunden. Sie können diesen MySql-Bug für diesen INSERT ON DUPLICATE KEY UPDATE beziehen und 0 zurückgeben, wenn keine Änderung erfolgt JDBC ExecuteUpdate

In der Diskussion wird auch angegeben, dass sie es in 5.1.7 veröffentlicht haben

BEARBEITEN Für Ihre zweite Frage:

AffectedRows verwenden :

Standard:falsch

Ab Version:5.1.7

Referenz useAffectedRows in JDBC Connector-j