Was sollten Sie nach dem Festlegen eines Primärschlüssels in einer Tabelle tun, wenn Sie den Primärschlüssel löschen möchten? Im folgenden Artikel erfahren Sie, wie Sie den Primärschlüssel in MySQL löschen. Ich hoffe, dass er für Sie hilfreich ist.
Werfen wir zunächst einen Blick auf die Syntax zum Löschen des Primärschlüssels:
ALTER TABLE TABLE_NAME DROP PRIMARY KEY;
Beim Löschen eines Primärschlüssels sind zwei Situationen zu berücksichtigen Schlüssel in MySQL:
1. Die Primärschlüsselspalte unterliegt keinen Einschränkungen und der Primärschlüssel kann direkt gelöscht werden
Beispiel:
mysql> create table test1_3( -> id int not null primary key, -> name char(10) -> ); Query OK, 0 rows affected (0.01 sec)
Wir können Drop to direkt verwenden Löschen Sie den Primärschlüssel
mysql> alter table test1_3 drop primary key; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
2. Wenn es sich um den Primärschlüssel der automatischen Inkrementierung handelt (AUTO_INCREMENT-Attribut)
Beispiel:
mysql> create table test1_2( -> id int not null auto_increment, -> name char(10),-> primary key(id) -> ); Query OK, 0 rows affected (0.00 sec) mysql> desc test1_2; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | char(10) | YES | | NULL | | +-------+----------+------+-----+---------+----------------+ 2 rows in set (0.00 sec)
Bei direktem Löschen wird ein Fehler angezeigt gemeldet
mysql> alter table test1_2 drop primary key;
Ausgabe:
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key #这说明此列是自动增长列,无法直接删除
Die Attribute der Spalte sind noch vorhanden. Bei AUTO_INCREMENT müssen Sie zunächst das automatische Wachstumsattribut dieser Spalte entfernen, bevor Sie den Primärschlüssel löschen können.
mysql> alter table test1_2 modify id int; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table test1_2 drop primary key; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
Das obige ist der detaillierte Inhalt vonWie lösche ich den Primärschlüssel in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!