如果我试图从AUTO_INCREMENT列中删除PRIMARY KEY约束会发生什么?
我们知道AUTO_INCREMENT列必须也有PRIMARY KEY约束,因此当我们尝试从AUTO_INCREMENT列中删除PRIMARY KEY约束时,MySQL会返回一个有关不正确的表定义的错误消息。下面的示例将演示它 –
阅读更多:MySQL 教程
示例
假设我们有一个名为“Accounts”的表,其描述如下 –
mysql> Describe accounts;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| Sr | int(10) | NO | PRI | NULL | auto_increment |
| Name | varchar(20) | YES | | NULL | |
| amount | int(15) | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
3 rows in set (0.10 sec)
它具有带有AUTO_INCREMENT和PRIMARY KEY定义的字段“Sr”。现在,如果我们尝试删除此PRIMARY KEY,则MySQL将抛出以下错误 –
mysql> Alter table Accounts DROP PRIMARY KEY;
ERROR 1075 (42000): Incorrect table definition; there can be only one
auto column and it must be defined as a key