Primärschlüssel nachträglich hinzufügen

kesnw

Erfahrenes Mitglied
Primärschlüssel nachträglich hinzufügen (MySQL)

Hallo,

ich möchte meiner Tabelle nachträglich einen zweiten Primärschlüssel hinzufügen, bzw. meinen Primärschlüssel um ein Feld erweitern.

Wenn ich eine neue Tabelle anlege dann geht das ja so:

Code:
CREATE TABLE `test` (
`eins` VARCHAR( 10 ) NOT NULL ,
`zwei` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `eins` , `zwei` ) 
);

Nun existieren die Felder 'eins' und 'zwei' bereits in der Tabelle und 'eins' ist der Primärschlüssel. Wie kann ich nun 'zwei' nachträglich hinzufügen, so dass beide Felder zusammen den Primärschlüssel ergeben?
 
Zuletzt bearbeitet:
Hallo

Bin mir leider nicht sicher da ich kein MySQL zur Zeit vor mir habe, aber versuch mal

Code:
ALTER TABLE test ADD drei VARCHAR(10) NOT NULL, PRIMARY KEY(eins, zwei, drei);
 
Danke, nochmal zum Verständnis:

"eins" und "zwei" existieren schon und "eins" ist alleiniger Primärschlüssel. Jetzt möchte ich aber "eins" UND "zwei" als Primärschlüssel haben. Sowas wie

Code:
ALTER TABLE test PRIMARY KEY('eins','zwei');

geht leider nicht...
 
Da Du bereits einen Primary Key definiert hast, gibt es wahrscheinlich deshalb Probleme, denn es wird versucht ein neuer Promary Key anzulegen, aber ein existierender gefunden. Und wie wir ja wissen, darf es nur einen Primary Key geben.
Du solltest vorher folgendes machen:
Code:
ALTER TABLE test DROP PRIMARY KEY;
Das sollte eigentlich helfen. Wenn nicht, hier ein Link zur ALTER TABLE-Syntax

redlama
 

Neue Beiträge

Zurück