mysql ON DUPLICATE KEY
Gerald
- datenbank
Hi,
hab ich da was falsch verstanden?
Ich habe in einer tabelle einen kombinierten unique-index über die Spalten art und PID gesetzt.
Die Tabelle ist zum Zeitpunkt folgender Abfrage leer:
INSERT INTO table
(
ID,
art,
PID,
sort
)
VALUES
(
NULL,
'R',
54,
0
)
ON DUPLICATE KEY
UPDATE table
SET
sort = 0
WHERE art = 'R' AND PID = 54;
MySQL meldet:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET sort = 0 WHERE ...
Was ist an meiner Query falsch?
Gruß
Tach!
hab ich da was falsch verstanden?
Ja. Und vermutlich auch nicht die Beispiele im Handbuch.
INSERT INTO table
[...]
ON DUPLICATE KEY
UPDATE table
SET
sort = 0
WHERE art = 'R' AND PID = 54;
MySQL meldet:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET sort = 0 WHERE ...Was ist an meiner Query falsch?
An der Stelle wird kein vollständiges UPDATE-Statement benötigt, sondern nur: Spalte=Ausdruck, gegebenenfalls mehrere durch Komma getrennt.
dedlfix.
An der Stelle wird kein vollständiges UPDATE-Statement benötigt, sondern nur: Spalte=Ausdruck, gegebenenfalls mehrere durch Komma getrennt.
Hi dedlfix,
ja, danke :-)
Kleiner Denkfehler. Es ist ja gerade die Voraussetzung, dass Tabelle und Datensatz bekannt sind, damit das Update-Statement greifen kann. Logisch.
Gruß