Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

AUTO_INCREMENT 열에서 PRIMARY KEY 제약 조건을 삭제하려고 하면 어떻게 됩니까?


AUTO_INCREMENT 열에는 PRIMARY KEY 제약 조건이 있어야 하므로 AUTO_INCREMENT 열에서 PRIMARY KEY 제약 조건을 삭제하려고 할 때 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) 

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