기존 테이블에 자동 증가 ID를 추가 하시겠습니까?
'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 `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;
다음 명령을 실행하는 경우 :
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;
이것은 기존 열 제약 조건을 변경하는 데 작동합니다 ....!
ADD를 MODIFY로 변경하면 작동합니다!
바꾸다
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT
에
ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key FIRST
ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENT
정수 매개 변수는 내 기본 SQL 설정을 기반으로합니다. 좋은 하루 되세요.
열이 다른 기존 기본 키를 확인하십시오. 그렇다면 다음을 사용하여 기본 키를 삭제하십시오.
ALTER TABLE Table1
DROP CONSTRAINT PK_Table1_Col1
GO
그런 다음 쿼리를 그대로 작성하십시오.
ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT unique
이 시도. 기본 키를 삭제할 필요가 없습니다.
다음과 같이 진행하십시오.
Make a dump of your database first
Remove the primary key like that
ALTER TABLE yourtable DROP PRIMARY KEY
Add the new column like that
ALTER TABLE yourtable add column Id INT NOT NULL AUTO_INCREMENT FIRST, ADD primary KEY Id (Id)
테이블이 표시되고 AutoInc가 업데이트됩니다.
참고URL : https://stackoverflow.com/questions/14753321/add-auto-increment-id-to-existing-table
'Programing' 카테고리의 다른 글
C # : 메모리 부족 예외 (0) | 2020.11.19 |
---|---|
C #으로 문자열에서 텍스트 찾기 (0) | 2020.11.19 |
B-tree faster than AVL or RedBlack-Tree? (0) | 2020.11.19 |
스크롤 뷰 내 레이아웃 하단에보기 추가 (0) | 2020.11.19 |
iOS 7 또는 6에서 탐색 모음 색상을 변경하는 방법은 무엇입니까? (0) | 2020.11.19 |