Hello,
Gelöst habe ich das so:
CREATE TABLE
mytest
(
id
INT( 10 ) NOT NULL AUTO_INCREMENT ,
first
VARCHAR( 250 ) NOT NULL ,
last
VARCHAR( 250 ) NOT NULL ,
city
VARCHAR( 250 ) NOT NULL ,
country
VARCHAR( 250 ) NOT NULL ,
PRIMARY KEY (id
),
UNIQUE KEYmykey
(first
,last
)
);
Man lernt bekanntlich am meisten, wenn man die Fragen von anderen beantworet. Ich will es also acuh mal veruchen ;-)
Das sieht schon sehr gut aus. Nur würde ich nicht soviel Platz verschwenden.
MWn wird der Index über die Felder in der vollen Breite angelegt, während die Felder selber nur soviel Platz verbrauchen, wie MicroExtents für den Inhalt nötig sind.
Überlege, ob Du wirklich 250 Zeichen haben musst, oder ob die üblichen 35 nicht ausreichen.
b) Was ist der Unterschied zwischen
UNIQUE (
first
,last
)
UNIQUE KEYmykey
(first
,last
)
Das Schlüsselwort KEY oder INDEX (Synonyme) ist optional. Wenn der Index nicht UNIQUE sein soll, natürlich nicht, dann braucht man eins von beiden. Die Namensvereinbarung für den KEY ist auch optional. Allerdings kann man nur bei vergebenem Namen die "ORDER BY keyname
" Klausel benutzen.
Da es kaum Ressourcen kostet, würde ich immer einen sinnvollen Nanmen vergeben, der auch für Außenstehende plausibel ist. Man kann die Keynames nämlich abfragen und dann zu einer Selectbox zusammenfassen, die man dem User bereitstellt.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau