如果我尝试从 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-6-2020

202 次浏览

开始你的 职业生涯

完成课程,获取认证

立即开始
广告
© . All rights reserved.