복붙노트

[SQL] 테이블을 기존의 자동 증가 ID를 추가 하시겠습니까?

SQL

테이블을 기존의 자동 증가 ID를 추가 하시겠습니까?

나는 'FNAME', 'LNAME', '이메일', '비밀번호'와 '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

어떤 충고?:)

해결법

  1. ==============================

    1.이 시도

    이 시도

    ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    
  2. ==============================

    2.당신은 자동 ID가 PRIMARY KEY로 사용할지 여부를 상관하지 않는 경우, 당신은 할 수 있습니다

    당신은 자동 ID가 PRIMARY KEY로 사용할지 여부를 상관하지 않는 경우, 당신은 할 수 있습니다

    ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
    

    난 그냥 이런 짓을하며 치료를했다.

  3. ==============================

    3.기존 테이블에 AUTO INCREMENT을 추가 할 경우, 필요 SQL 명령 다음에 실행합니다 :

    기존 테이블에 AUTO INCREMENT을 추가 할 경우, 필요 SQL 명령 다음에 실행합니다 :

     ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key
    
  4. ==============================

    4.먼저 테이블의 기본 키를 제거해야

    먼저 테이블의 기본 키를 제거해야

    ALTER TABLE nametable DROP PRIMARY KEY
    

    지금 당신은 자동 증가를 추가 할 수 있습니다 ..

    ALTER TABLE nametable ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    
  5. ==============================

    5.다음과 같이 글쎄, 당신은 먼저 당신을 추가 한 후 당신이 가지고있는 AUTO_INCREMENT 및 기본 키를 삭제해야합니다 :

    다음과 같이 글쎄, 당신은 먼저 당신을 추가 한 후 당신이 가지고있는 AUTO_INCREMENT 및 기본 키를 삭제해야합니다 :

    -- 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;
    
  6. ==============================

    6.다음 명령을 실행하는 경우 :

    다음 명령을 실행하는 경우 :

    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;
    

    이것은 기존의 열 제약을 변경하는 작업을해야 ....!

  7. ==============================

    7.존재하는 경우 테이블의 기본 키를 삭제합니다 :

    존재하는 경우 테이블의 기본 키를 삭제합니다 :

     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;
    
  8. ==============================

    8.

    ALTER TABLE users CHANGE id int( 30 ) NOT NULL AUTO_INCREMENT
    

    정수 매개 변수는 내 기본 SQL 설정을 기반으로 좋은 하루 되세요

  9. ==============================

    9.그냥 수정하려면 ADD를 변경하고이 작품을 것입니다!

    그냥 수정하려면 ADD를 변경하고이 작품을 것입니다!

    바꾸다

    ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT
    

    ALTER TABLE users MODIFY id int NOT NULL AUTO_INCREMENT;
    
  10. ==============================

    10.

    ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT primary key FIRST
    
  11. ==============================

    11.이미 다른 열이 기본 키를 기존 확인합니다. 그렇다면, 사용하여 기본 키를 드롭 :

    이미 다른 열이 기본 키를 기존 확인합니다. 그렇다면, 사용하여 기본 키를 드롭 :

    ALTER TABLE Table1
    DROP CONSTRAINT PK_Table1_Col1
    GO
    

    그대로 다음 쿼리를 작성.

  12. ==============================

    12.

    ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT unique
    

    이 시도. 필요가 기본 키를 떨어 뜨리합니다.

  13. ==============================

    13.PostgreSQL을 위해 당신은 AUTO_INCREMENT 대신 SERIAL을 사용해야합니다.

    PostgreSQL을 위해 당신은 AUTO_INCREMENT 대신 SERIAL을 사용해야합니다.

    ALTER TABLE your_table_name ADD COLUMN id SERIAL NOT NULL PRIMARY KEY
    
  14. ==============================

    14.그런 식으로 진행 :

    그런 식으로 진행 :

    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 추가 열 ID INT NOT NULL AUTO_INCREMENT FIRST 추가, 기본 키 아이디 (ID)

    이 표는보고와 자동 증가 (Autoinc)가 업데이트됩니다.

  15. from https://stackoverflow.com/questions/14753321/add-auto-increment-id-to-existing-table by cc-by-sa and MIT license