Seperti yang kita tahu, lajur AUTO_INCREMENT juga mesti mempunyai kekangan UTAMA UTAMA, jadi apabila kita cuba mengalih keluar kekangan UTAMA UTAMA dari lajur AUTO_INCREMENT, MySQL mengembalikan mesej ralat tentang definisi jadual yang salah. Contoh berikut akan menunjukkannya −
Andaikan kita mempunyai jadual yang dipanggil "Akaun" dengan penerangan berikut −
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)
Ia mempunyai medan 'Sr' dengan AUTO_INCREMENT dan PRIMARY KEY ditakrifkan. Sekarang, jika kita cuba memadam KUNCI UTAMA ini, MySQL akan membuang ralat berikut -
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
Atas ialah kandungan terperinci Apakah yang berlaku jika saya cuba mengalih keluar kekangan PRIMARY KEY daripada lajur AUTO_INCREMENT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!