mysql无法删除表中的主键
admin
2023-04-18 20:22:54
0

1、mysql删除表中的主键时报错,如下代码所示:

mysql> alter table student drop primary key;
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

2、问题原因:

查看student表的类型时,发现主键列中有auto_increment(递增)类型选项。如要删除表中的主键,需要先删除auto_increment类型。代码如下所示:

mysql> desc student;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | char(20)    | NO   | MUL | NULL    |                |
| age   | tinyint(2)  | NO   | MUL | 0       |                |
| dept  | varchar(16) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
4 rows in set (0.02 sec)

3、删除student表中的主键列上面的auto_increment类型。代码如下所示:

mysql> alter table student change id id int;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

提示:alter table student change id id int;命令修改student表中列的类型,auto_increment类型自然就会被删除。

4、查看student表的类型,发现auto_increment类型已被删除。代码如下所示:

mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | 0       |       |
| name  | char(20)    | NO   | MUL | NULL    |       |
| age   | tinyint(2)  | NO   | MUL | 0       |       |
| dept  | varchar(16) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

5、删除student中的主键。代码如下所示:

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

6、最后查看student表的类型,发现表中的主键已被删除。代码如下:

mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   |     | 0       |       |
| name  | char(20)    | NO   | MUL | NULL    |       |
| age   | tinyint(2)  | NO   | MUL | 0       |       |
| dept  | varchar(16) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)


相关内容

热门资讯

终于懂了“推大石辅助器?”(确... 您好:推大石这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏中...
今日重大通报“天涯麻将到底有挂... 您好:天涯麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
玩家分享攻略“哈灵麻将有没有挂... 家人们!今天小编来为大家解答哈灵麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
今日重大通报“川麻圈可以开挂吗... 有 亲,根据资深记者爆料川麻圈是可以开挂的,确实有挂(咨询软件无需打开直...
今日重大消息“福建麻将有没有挂... 您好:福建麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
【今日要闻】“经典联盟炸/金/... 有 亲,根据资深记者爆料经典联盟炸/金/花是可以开挂的,确实有挂(咨询软...
今日重大通报“微信链接牛牛真的... 家人们!今天小编来为大家解答微信链接牛牛透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
今日重大消息“网易麻将究竟有挂... 有 亲,根据资深记者爆料网易麻将是可以开挂的,确实有挂(咨询软件无需打开...
今日重大发现“微乐锄大地辅助器... 家人们!今天小编来为大家解答微乐锄大地透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
今日重大发现“欢乐茶坊怎么装挂... 网上科普关于“欢乐茶坊有没有挂”话题很是火热,小编也是针对欢乐茶坊作*弊开挂的方法以及开挂对应的知识...