在 MySQL 中删除主键?

mysqlmysqli database

要在 MySQL 中删除主键,请使用 drop primary key 命令。为了理解这个概念,让我们创建一个以列为主键的表。

mysql> create table PrimaryKeyDemo
   -> (
   -> id int not null,
   -> Primary key(id)
   -> );
Query OK, 0 rows affected (0.60 sec)

让我们借助 DESC 命令检查表的描述。查询如下。

mysql> desc PrimaryKeyDemo;

以下是输出。

+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.06 sec)

查看上面的输出,有一个列"Key",其中包含 PRI 关键字。这本身就表明"id"列是主键。现在,让我们借助 ALTER 和 DROP 命令删除主键。查询如下。

mysql>  alter table PrimaryKeyDemo drop primary key;
Query OK, 0 rows affected (1.70 sec)
Records: 0  Duplicates: 0  Warnings: 0

现在让我们检查主键是否被成功删除。

mysql> DESC PrimaryKeyDemo;

以下是现在不会显示主键的输出,因为我们已在上面删除了它。

+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)

相关文章