Heim  >  Artikel  >  Datenbank  >  Wie lösche ich den Primärschlüssel in MySQL?

Wie lösche ich den Primärschlüssel in MySQL?

青灯夜游
青灯夜游Original
2019-05-08 09:39:1632313Durchsuche

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.

Wie lösche ich den Primärschlüssel in MySQL?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn