Ich habe eine Tabelle:MySql - Ein Doppelte Key
Saves
-----
UserId (int primary key)
Save (blob)
SaveBackup (blob)
Das mit dieser gefüllt ist:
Saves(22, 'xyz', '')
Ich gebe folgendes:
$stmt = $db->prepare("INSERT INTO Saves (UserId, Save, SaveBackup) "
. "VALUES (:UserId1, :Save1, '') ON DUPLICATE KEY "
. "UPDATE Saves SET SaveBackup=Save, Save=:Save2 "
. "WHERE UserId=:UserId2");
$stmt->execute(array(':Save1' => 'zzz',
':Save2' => 'zzz',
':UserId1' => 22,
':UserId2' => 22));
Es funktioniert nicht, Fehler in Ihrem SQL-Code. Es funktioniert gut ohne alle Sachen, die dem ON DUPLICATE KEY vorangehen (und einschließen).
Haben Sie die Dokumentation gelesen? http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html –