2012-04-05 13 views
0

Ich möchte eine Zeile nur, wenn zwei Werte (oder mehr) der Abfrage einzufügen ist anders:MySQL: Legen Sie nur, wenn

INSERT INTO table (id, title, description) 
VALUES(1, 'hello', 'world') 
ONLY IF title AND description DOESN't ALREADY EXISTS 
+0

möglich Duplikat [MySQL INSERT nur, wenn zwei Felder nicht übereinstimmen] (http://stackoverflow.com/questions/9475670/mysql-insert-only-if-two-fields -dont-match) – Neil

Antwort

0

Ich glaube, Sie replace into verwenden können, wenn Sie einen eindeutigen Schlüssel auf der hinzufügen

zwei Spalten
REPLACE INTO table (id, title, description) 
VALUES(1, 'hello', 'world')  
2
INSERT INTO TABLE (ID, TITLE, DESCRIPTION) VALUES (1, 'hello', 'world') 
WHERE (SELECT COUNT(ID) FROM TABLE WHERE TITLE='hello' AND DESCRIPTION='world') = 0 
+1

Wie ich weiß, ist es nicht möglich 'WHERE' mit' INSERT' zu verwenden, bu t Ich habe deine Lösung ausprobiert und es funktioniert nicht, was mache ich falsch? : \ – Adam

Verwandte Themen