Erik Tews: MySQL: wie definiert man (primär)schlüssel?

Beitrag lesen

Hi leute,

obwohl ich jetzt das komplette handbuch abgegrast habe (bei 'little idiot' - paßt doch! *G*), bin ich nicht auf die antwort zu dieser frage gestoßen (da stand nur lapidar: "Das kann man zu einem späteren zeitpunkt noch festlegen..." na _super_! *grummel*)

Ich habe zwar im MySQL Administrator für Win32 eine funktiuon gefunden, mit der man keys definieren kann (unter table maintenance), aber die scheint einen bug zu haben :(
Wie also kann ich das mit dem kommandozeilen-tool 'mysql' regeln ?(was mir eigentlich auch lieber wäre)

Also, wenn du sie nachträglich anfügen willst mit

ALTER TABLE tbl_name ADD INDEX index_name (index_col_name,...)

Wenn du ihn gleich beim erstellen haben willst

CREATE TABLE shop (
article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
dealer  CHAR(20)                 DEFAULT ''     NOT NULL,
price   DOUBLE(16,2)             DEFAULT '0.00' NOT NULL,
PRIMARY KEY(article, dealer));

oder

mysql> CREATE TABLE test (
       name CHAR(200) NOT NULL,
       KEY index_name (name(10)));