如果我嘗試從 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