mysql无法删除AG真人平台搭建表中的主键

1、mysql删除表中的主键时报错,AG真人平台搭建【企鹅21717-93408】如下代码所示:

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

posted @ 2019-03-11 14:55  果蔬总动员  阅读(77)  评论(0)    收藏  举报