(MYSQL) Nachträglich Primärschlüssel einfügen?
-
Hallo,
ich habe eine tabelle erstellt, aber keinen Primärschlüssel drin.
Dann merke ich, dass ich doch einen brauche, wie kann ich denn jetzt im Nachhinein ein Feld einfügen (weiß ich), das aber der Primärschlüssel ist (weiß ich nicht :().
Bisher lösche ich immer die ganze tabelle, ist aber recht umständlich.MfG MAV
-
Wenn du den phpMyAdmin verwendest ist das ein ganz einfacher Klick. Wenn du es jedoch mit SQL machen musst, dann schau dir mal ALTER TABLE genauer an
-
Ich nutze PHPMyAdmin, leider ist das kein leichter Klick, weil der Primärschlüssel nicht zu setzen ist, wenn die id nicht auto_increment und NOT NULL hat und NOT NULL und auto_increment nicht zu setzen sind, wenn das kein Primärschlüssel ist.
-
Hm, ich wollt das gerade nicht so ganz glauben und habs deswegen extra nochmal ausprobiert, also ich hab mit dem MyPHPAdmin keinerlei Probleme nachträglich ein Feld als Primary zu setzen geschweige denn ein FEld zum auto_increment zu erklären.
Kann es sein, das in der Tabelle bereits ein auto_increment Feld existiert ?
Oder das schon doppelte Werte vorhanden sind, so das du das Betreffende Feld nicht mehr zum auto_increment erklären kannst ?
-
ALTER TABLE `tablename` ADD `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
Funktioniert auch wenn du keinen eindeutigen Datensatzbezeichner drin hast und das DBMS die Datensätze nicht mehr eindeutig zuordnen kann.