mysql ON DUPLICATE KEY
    
Gerald
    
    
      
    
  - datenbank
 nicht angemeldet
 nicht angemeldetHi,
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ß