Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะเกิดอะไรขึ้นถ้าฉันจะพยายามทิ้งข้อจำกัด PRIMARY KEY จากคอลัมน์ AUTO_INCREMENT


อย่างที่เราทราบคอลัมน์ AUTO_INCREMENT นั้นต้องมีข้อจำกัดของ PRIMARY KEY ด้วย ดังนั้นเมื่อเราจะพยายามทิ้งข้อจำกัดของ PRIMARY KEY จากคอลัมน์ AUTO_INCREMENT MySQL จะส่งคืนข้อความแสดงข้อผิดพลาดเกี่ยวกับตารางที่ไม่ถูกต้อง คำนิยาม. ตัวอย่างด้านล่างจะแสดงให้เห็น −

ตัวอย่าง

สมมติว่าเรามีตาราง 'บัญชี' ที่มีคำอธิบายดังต่อไปนี้ -

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) 

มีการยื่น 'Sr' พร้อมคำจำกัดความ AUTO_INCREMENT และ 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