‘fname’, ‘lname’, ’email’, ‘password’및 ‘ip’가 포함 된 기존 테이블이 있습니다. 하지만 이제는 자동 증가 열을 원합니다. 그러나 입력 할 때 :
ALTER TABLE users
ADD id int NOT NULL AUTO_INCREMENT
다음을 얻습니다.
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
어떤 충고?:)
답변
이 시도
ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
답변
자동 ID가으로 사용되는지 여부에 신경 쓰지 않는다면 PRIMARY KEY
그냥 할 수 있습니다.
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
나는 이것을했고 그것은 대우를 받았다.
답변
기존 테이블에 AUTO_INCREMENT를 추가하려면 다음 SQL 명령을 실행해야합니다.
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key
답변
먼저 테이블의 기본 키를 제거해야합니다.
ALTER TABLE nametable DROP PRIMARY KEY
이제 자동 증가를 추가 할 수 있습니다.
ALTER TABLE nametable ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
답변
글쎄, 당신은 먼저 드롭 auto_increment
하고 primary key
당신은 다음과 같이 당신의 것을 추가해야합니다.
-- drop auto_increment capability
alter table `users` modify column id INT NOT NULL;
-- in one line, drop primary key and rebuild one
alter table `users` drop primary key, add primary key(id);
-- re add the auto_increment capability, last value is remembered
alter table `users` modify column id INT NOT NULL AUTO_INCREMENT;
답변
다음 명령을 실행하는 경우 :
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT PRIMARY KEY;
그러면 오류가 표시됩니다.
ERROR 1060 (42S21): Duplicate column name 'id'
이 명령은 id
기존 테이블에 이름이 지정된 새 열을 추가하려고하기 때문 입니다.
기존 열을 수정하려면 다음 명령을 사용해야합니다.
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT PRIMARY KEY;
기존 열 제약 조건을 변경하는 데 작동합니다 ….!
답변
테이블의 기본 키가 있으면 삭제하십시오.
ALTER TABLE `tableName` DROP PRIMARY KEY;
테이블에 자동 증가 열 추가 :
ALTER TABLE `tableName` ADD `Column_name` INT PRIMARY KEY AUTO_INCREMENT;
기본 키로 고려할 열을 수정합니다.
alter table `tableName` modify column `Column_name` INT NOT NULL AUTO_INCREMENT PRIMARY KEY;