PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL: ON DUBLICATE KEY do nothing



craano
02-04-2008, 20:28
Hallo,

kennt einer von euch eine Möglichkeit ein INSERT nicht auszuführen, wenn schon ein Wert mit dem einzufügendem Inhalt in einer Spalte existiert?

Bislang löse ich das mit:

INSERT INTO location (song_id, speicherort) VALUES (\"$song_id\",\"$filename\") ON DUPLICATE KEY UPDATE update_dublicate=update_dublicate+1;wobei die Spalte "update_dublicate lediglich eine Kontrollspalte ist, dessen Wert erhöht wird, wenn ON DUBLICATE KEY UPDATE greift. Das würde ich gerne sparen.

Ich suche so etwas:

INSERT INTO ... VALUES ... ON DUBLUCATE KEY ABBRECHEN;Hat jemand eine Idee?

grüße.
craano.

BLUESCREEN3D
02-04-2008, 22:53
Lass das ON DUPLICATE KEY ... doch einfach weg.
Und falls du das gerade nicht willst, weil das eine Fehlermeldung gibt, nimm INSERT IGNORE ... - siehe http://dev.mysql.com/doc/refman/5.0/en/insert.html
Das ist allerdings nicht konform zum SQL-Standard, sondern nur in MySQL enthalten!