mySQL: Was bedeuted "UNIQUE"?
Fog
- datenbank
hallo,
was bedeutet eigentlich das attribut "unique" in einem mysql-tabellenfeld? ich habe folgendes problem: in einer tabelle sollen die felder
id [int, PRIMARY, auto_increment]
vorname [tinytext]
nachname [tinytext]
email [tinytext]
vorhanden sein. nun ist es nötig, daß der email-wert in der tabelle nur einmal vorkommt. ich habe versucht, dem feld das "unique"-attribut zu geben. mysql bringt dann die fehlermeldung, daß "length/set" für dieses feld nicht gesetzt ist. wenn ich length/set dann setze, bringt mysql unabhängig vom eingegebenen wert einen sql-error.
zur frage: was bedeuten "length/set" und "unique" genau?
danke im voraus
mfg
FOG
Sup!
Unique ist sowas ähnliches wie "primary", es verhindert doppelte Schlüsselwerte.
Allerdings ist bei "unique" auch der Wert "null" erlaubt - von daher wäre "unique, not null" wohl besser.
Und was length/set bei mysql heisst, weiss ich auch nicht.
Gruesse,
Bio
Hi!
Unique ist sowas ähnliches wie "primary", es verhindert doppelte Schlüsselwerte.
so kann man das auch nennen, es bewirkt einfach das dieses Feld eindeutig (einigartig) ist, kein anderer Datensatz darf in dem Feld den gleichen Wert haben.
Und was length/set bei mysql heisst, weiss ich auch nicht.
evt. die Länge des Datenfeldes, Anzahl der Zeichen bzw. auch genauigkeit der Daten (Nachkommastellen) ???
HTH, Frank
Und was length/set bei mysql heisst, weiss ich auch nicht.
evt. die Länge des Datenfeldes, Anzahl der Zeichen bzw. auch genauigkeit der Daten (Nachkommastellen) ???
genau hier liegt das problem: um ein feld das attribut "unique" zu geben, muß ein wert für "length/set" vorhanden sein. phpmyadmid (respektive mysql) lehnt aber jeden wert, der für "length/set" angegeben wird als fehlerhafte sql-syntax ab.
irgendeine idee?
HTH, Frank
mfg
FOG