Php INSERT to mysql / UNIQUE / DISTINCT

Jay Free

Mitglied
Hello again,

ich versuche namen in meiner Tabelle zu speichern, allerdings will ich jeden namen nur 1x pro ID haben. Wenn ich in phpmyadmin "name" UNIQUE gesetzt habe geht das nichtmehr, da er den namen nur 1x zulässt.

Beispiel: (So soll es sein)
+-NAME-+-ID-+
|__Jay__|__1__|
|__Jay__|__2__|
|__Kay__|__1__|
|__Kay__|__2__|

Aber nicht:(So ist es gerade)
+-NAME-+-ID-+
|__Jay__|__1__|
|__Jay__|__1__|
|__Kay__|__1__|
|__Kay__|__1__|
|__Jay__|__2__|
|__Jay__|__2__|
|__Kay__|__2__|
|__Kay__|__2__|
Mein Code:
PHP:
<?php
    $user = $_user['USERNICKNAME'][1]; 
    $ID = $idstr;
    $result = mysql_query("SELECT DISTINCT name FROM tabelle WHERE ID ='$ID'";
    $result = mysql_query("INSERT INTO tabelle (name, ID) VALUES ('".$user."', '".$ID."')");


?>
 
Du kannst Unique-Indizes über mehrere Spalten legen:

Code:
ALTER TABLE tabelle ADD UNIQUE (`ID`, `Name`);

Das bedeutet dann, das die Kombination aus Name und ID nur einmal in der Tabelle vorkommen dürfen. Also bspw. 1+saftmeister, 2+saftmeister,1+Jay,2+Jay, usw.
 
Oh man ich stand voll auf dem Schlauch, wusste jetzt garnich was Ihr meintet ...
Dann habe ich "Index über 1,2,3... Spalten anlegen " gesehen und dann war alles klar ...

Danke and euch beide :)
 
Zurück