phpbar.de logo

Mailinglisten-Archive

AW: PRIMARY KEY...
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: PRIMARY KEY...



> 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


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive