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

MySQL-Tabelle einfügen, falls nicht vorhanden, andernfalls aktualisieren

Jai hat Recht, dass Sie INSERT ... ON DUPLICATE KEY UPDATE verwenden sollten .

Beachten Sie, dass Sie datenum nicht in die Update-Klausel aufnehmen müssen, da es sich um den eindeutigen Schlüssel handelt, der sich also nicht ändern sollte. Sie müssen alle anderen Spalten aus Ihrer Tabelle einbeziehen. Sie können den VALUES() Funktion, um sicherzustellen, dass beim Aktualisieren der anderen Spalten die richtigen Werte verwendet werden.

Hier ist Ihr Update, das mit dem richtigen INSERT ... ON DUPLICATE KEY UPDATE neu geschrieben wurde Syntax für MySQL:

INSERT INTO AggregatedData (datenum,Timestamp)
VALUES ("734152.979166667","2010-01-14 23:30:00.000")
ON DUPLICATE KEY UPDATE 
  Timestamp=VALUES(Timestamp)