如果我尝试从 AUTO_INCREMENT 字段中删除 PRIMARY KEY 约束,会发生什么?


众所周知,AUTO_INCREMENT 字段也必须具有 PRIMARY KEY 约束,因此,当我们尝试从 AUTO_INCREMENT 字段中删除 PRIMARY KEY 约束时,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

更新日期:19-Jun-2020

202 次查看

开启 职业生涯

通过完成课程获得认证

立即开始
广告