Heim  >  Artikel  >  Datenbank  >  Was passiert, wenn ich versuche, die PRIMARY KEY-Einschränkung aus der Spalte AUTO_INCREMENT zu entfernen?

Was passiert, wenn ich versuche, die PRIMARY KEY-Einschränkung aus der Spalte AUTO_INCREMENT zu entfernen?

王林
王林nach vorne
2023-08-23 21:21:021252Durchsuche

如果我尝试从AUTO_INCREMENT列中删除PRIMARY KEY约束会发生什么?

Wie wir wissen, muss die AUTO_INCREMENT-Spalte auch eine PRIMARY KEY-Einschränkung haben. Wenn wir also versuchen, die PRIMARY KEY-Einschränkung aus der AUTO_INCREMENT-Spalte zu entfernen, gibt MySQL eine Fehlermeldung über eine falsche Tabellendefinition zurück. Das folgende Beispiel wird es demonstrieren: −

Beispiel

Angenommen, wir haben eine Tabelle namens „Konten“ mit der folgenden Beschreibung: −

mysql> Describe accounts;

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| Sr     | int(10)     | NO   | PRI | NULL    | auto_increment |
| Name   | varchar(20) | YES  |     | NULL    |                |
| amount | int(15)     | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

3 rows in set (0.10 sec) 

Es gibt ein Feld „Sr“, in dem AUTO_INCREMENT und PRIMARY KEY definiert sind. Wenn wir nun versuchen, diesen PRIMÄRSCHLÜSSEL zu löschen, gibt MySQL den folgenden Fehler aus:

mysql> Alter table Accounts DROP PRIMARY KEY;
ERROR 1075 (42000): Incorrect table definition; there can be only one
   auto column and it must be defined as a key

Das obige ist der detaillierte Inhalt vonWas passiert, wenn ich versuche, die PRIMARY KEY-Einschränkung aus der Spalte AUTO_INCREMENT zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen