SQL - INSERT INTO - nur einmal eintragen

Hattrix

Erfahrenes Mitglied
Hallo,

wenn 'name' = 'user1' ist, er einmal schon drin steht, soll er kein zweites mal ein eintrag machen, sondern soll er eben diese SQL-Fehler bringen. Wie geht das?
 
Hallo!

Ein
PHP:
mysql_query("INSERT INTO `tabelle` (`name`) VALUES('user1');") or die("Name schon vorhanden!");
müsste Dir doch die Meldung von "or die" ausgeben (bin ich zumindest der Meinung).

Gruss Dr Dau
 
Code:
mysql_query("INSERT INTO `tabelle` (`name`,`wert`) VALUES('user1','1');") or die("Name schon vorhanden!");

Und nun? Es sollte nur um den Namen gehen!
 
Nun, es könnte ja schon "user1" mit dem Wert "2" geben..... in dem Fall würde "user1" mit dem Wert "1" eingetragen werden.
Ich wüsste jetzt nicht wie man es direkt beim INSERT umgehen könnte.
Du könntest aber vorher eine Abfrage machen:
PHP:
"SELECT `name` FROM `tabelle` WHERE `name`='user1'"
Schlägt diese Abfrage fehl, führst Du den INSERT aus..... andernfalls lässt Du eine Fehlermeldung ausgeben.
 
Hm, nee, so funktioniert das nicht. Gibt es nicht direkt bei MySQL ein Einstellmöglichkeit dafür? Stichwort: "Dublicate entry 1"?

Edit:
Ich hab's. Musste ein Primärschlüssel sein!
 
Zuletzt bearbeitet:
Zurück