如我們所知,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
以上是如果我嘗試從AUTO_INCREMENT列中刪除PRIMARY KEY約束會發生什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!