如果我尝试从 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP