Hallo!
In der MySQL Dokumentation habe ich bereits gesucht,
aber ich konnte kein Beispiel dazu finden,
leider.
Ich habe eine Tabelle in MySQL:
CREATE TABLE essen (
id int(10) NOT NULL auto_increment,
name varchar(250) NOT NULL default '',
fleisch varchar(50) default NULL,
fisch varchar(50) default NULL,
sweets varchar(250) NOT NULL default '',
obst varchar(250) NOT NULL default '',
datum datetime NOT NULL default '0000-00-00 00:00:00'
);
Die Felder "id" und "name" sollen beide UNIQUE sein,
sprich es darf kein zweiter gleicher name bzw. keine
zweite gleiche ID vorkommen.
Frage Nr. 1 ist zu UNIQUE:
Ich sah bisher mehrere verschiedene Arten wie Leute
Felder zu UNIQUE type machten:
- UNIQUE id (id)
- UNIQUE id
- UNIQUE (id)
- Das Wort UNIQUE irgendwie an die zeile selbst hinter
NOT NULL oder hinter default '' angehaengt
FRAGE: Welche von den 4 Möglichkeiten ist korrekt?
Frage Nr. 2 ist zu Primary key:
Ist das so korrekt, oder?
PRIMARY KEY (id), oder muss ich da auch
PRIMARY KEY id (id) oder PRIMARY KEY id machen wie beim anderen,
oder kann ich hier das Wort "PRIMARY KEY" auch
im create syntax hinter NOT NULL oder so anhaengen?
Welches ist korrekt?
Frage Nr. 3 ist zum UNIQUE machen von anderen Sachen als id
Wie geht es wenn ich andere Felder als die ID
auch noch zu UNIQUE machen will?
z.B. das Feld "name" soll UNIQUE sein.
UNIQUE id (name)
oder
UNIQUE name (id)
oder
UNIQUE name
oder
UNIQUE (name)
oder auch in die create-zeile hinter NOT NULL ?
Was mach ich wenn ich 2 Felder habe,
die beide UNIQUE werden sollen?
Also "id" und "name" ??
UNIQUE id (id, name)
oder
UNIQUE name,id (id,name)
oder
UNIQUE name,id
oder
UNIQUE (name,id)
oder
UNIQUE name (id, name)
oder ...???
Vielen lieben Dank,
Aqua