[MySQL] Frage zu Primary Key bei autoinkrement

#1
Hallo,

ich habe eine kleine Datenbank mit Videos erstellt... nur zur Übung und nichts besonderes :).

Die erste Spalte ist die ID, welche automatisch inkrementiert wird, die zweite Spalte der Name und die dritte Spalte das Erscheinungsdatum. Nun wollte ich noch mit dem dem Befehl:

SQL:
ALTER TABLE movies ADD PRIMARY KEY(id);
die id spalte explizit zum Primärschlüssel machen, leider bekomme ich die Fehlermeldung:

Code:
15:42:38   alter table movies ADD PRIMARY KEY(id)   Error Code: 1068. Multiple primary key defined
Meines Wissens nach habe ich aber noch keinen Primärschlüssel deklariert... sind die Autoinkrement-Felder automatisch Primärschlüssel?

Danke & Lg
buzzzzz
 

asc

Well-Known Member
c-b Experte
#2
Jein, AUTO_INCREMENT verlangt einen Key, dieser muss aber nicht Primary oder Unique sein.
Ob MySQL per default dieses Feld auf "Primary-Key" setzt weiß ich nicht, aber kann gut sein.

Schau doch selbst nach:
SQL:
DESCRIBE movies;
 
#3
Hey!

Danke für deine schnelle Antwort... da, das auto_increment-Attribut machts tatsächlich zu einem Primary Key:


Code:
# Field, Type, Null, Key, Default, Extra
'id', 'int(11)', 'NO', 'PRI', NULL, 'auto_increment'
Danke & Lg
buzzzzz
 
Oben