首頁  >  文章  >  資料庫  >  如果我嘗試從AUTO_INCREMENT列中刪除PRIMARY KEY約束會發生什麼?

如果我嘗試從AUTO_INCREMENT列中刪除PRIMARY KEY約束會發生什麼?

王林
王林轉載
2023-08-23 21:21:021254瀏覽

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

以上是如果我嘗試從AUTO_INCREMENT列中刪除PRIMARY KEY約束會發生什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除