Mailinglisten-Archive |
> Hi, > ich habe eine Table-Definition: > CREATE TABLE catchwords ( > cid int DEFAULT '0' NOT NULL auto_increment, > word varchar(50) DEFAULT '' NOT NULL, > link varchar(50) DEFAULT '' NOT NULL, > PRIMARY KEY(cid,word) > ); > > Nun dachte ich, da "word" ja auch ein PRIMARY KEY ist, das es > auch uniqued > ist, allerdings hab ich nun festgestellt, das in words > mehrere Datensätze > den selben wert haben, kann mir das einer erklären? wer sagt denn, das "word" unique ist? nur weil es bestandteil des schluessels ist, muss es nicht unique sein. nur die kombination aus "cid" und "word" muss unique sein. die key definition dieser tabelle ist eh unsinnig in meinen augen, da "cid" bereits ein eindeutiger schluessel ist und "word" nur "mitgeschliffen" wird. > Und wie schaffe ich es nun am einfachsten die spalte word so > zu setzen, das > sie uniqued ist? (ein "ALTER TABLE catchwords CHANGE word varchar(50) > DEFAULT '' NOT NULL UNIQUE;" bringt nen Syntax-Error) hmm, ich weiss gar nicht, ob mysql unique direkt unterstuetzt (asche auf mein haupt). zur not: lass doch c_id einfach weg und erklaere word direkt zum primary key. aber: fehler abfangen beim inserten, sonst gehen dir am ende noch datensaetze verloren. > Und: Hab ich das mit dem PRIMARY KEY jetzt irgendwie falsch > verstanden, > denn word erlaubt ja duplikate...???? siehe top 1. achim Gosse mailto:achim.gosse_(at)_nasa20.com n.a.s.a.2.0 gmbh http://www.nasa20.com borselhof borselstr. 16c 22765 hamburg speak.+49.40.39888288 fax.+49.40.39888299 registered linux user #122734 --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive