IT박스

AUTO_INCREMENT를 기존 열에 추가하는 방법은 무엇입니까?

itboxs 2020. 11. 24. 07:46
반응형

AUTO_INCREMENT를 기존 열에 추가하는 방법은 무엇입니까?


auto_incrementMySQL 테이블의 기존 열에 어떻게 추가 합니까?


명령에MODIFY 대해 설명한대로 열 을 원한다고 생각합니다 . 다음과 같을 수 있습니다.ALTER TABLE

ALTER TABLE users MODIFY id INTEGER NOT NULL AUTO_INCREMENT;

위에서 실행하기 전에 id열에 기본 인덱스가 있는지 확인하십시오 .


" 중복 항목 "오류 를 방지하면서 데이터 가있는 테이블에 AUTO_INCREMENT를 추가하는 방법 :

  1. 테이블의 사본 확인 INSERT SELECT를 사용하여 데이터를 :

    CREATE TABLE backupTable LIKE originalTable; 
    INSERT backupTable SELECT * FROM originalTable;
    
  2. originalTable에서 데이터 삭제 (중복 항목 제거) :

    TRUNCATE TABLE originalTable;
    
  3. AUTO_INCREMENT PRIMARY KEY 를 추가하려면

    ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
    
  4. 데이터를 다시 originalTable에 복사합니다 ( 새로 생성 된 열 (id)은 자동으로 채워 지므로 포함 하지 마십시오 ).

    INSERT originalTable (col1, col2, col3) 
    SELECT col1, col2,col3
    FROM backupTable;
    
  5. backupTable 삭제 :

    DROP TABLE backupTable;
    

도움이 되었기를 바랍니다.

CREATE LIKE를 사용한 테이블 복제에 대한 추가 정보 :

MySQL 테이블, 인덱스 및 데이터 복제


Alter table table_name modify column_name datatype(length) AUTO_INCREMENT PRIMARY KEY

자동 증가에 기본 키를 추가해야합니다. 그렇지 않으면 mysql에 오류가 발생합니다.


auto_increment Constraint In 열 또는 MODIFY COLUMN을 추가하기 만하면됩니다.

 ALTER TABLE `emp` MODIFY COLUMN `id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;

또는 먼저 열을 추가 한 다음 열을 다음과 같이 변경하십시오.

1. Alter TABLE `emp` ADD COLUMN `id`;

2. ALTER TABLE `emp` CHANGE COLUMN `id` `Emp_id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;

비어 있지 않은 테이블에 대한 AUTO_INCREMENT- 속성을 변경하려는 경우에 효과적이었습니다.

1.) 전체 테이블을 .sql 파일로 내보냈습니다
. 2.) 내보내기 후 테이블을 삭제했습니다
. 2.) CREATE_TABLE 명령에서 변경이 필요 했습니까?
3.) .sql-file
... et viola 에서 CREATE_TABLE 및 INSERT_INTO 명령 실행


다음 코드로이 작업을 수행했습니다.

ALTER TABLE `table_name`
CHANGE COLUMN `colum_name` `colum_name` INT(11) NOT NULL AUTO_INCREMENT FIRST;

이것이 열을 자동으로 증가시킬 수있는 유일한 방법입니다.

INT (11)은 최대 int 길이가 11임을 나타내며 원하는 경우 건너 뛸 수 있습니다.


Alter table table_name modify table_name.column_name data_type AUTO_INCREMENT;

예 :

Alter table avion modify avion.av int AUTO_INCREMENT;


ALTER TABLE Table name ADD column datatype AUTO_INCREMENT,ADD primary key(column);

참고 URL : https://stackoverflow.com/questions/5035836/how-to-add-auto-increment-to-an-existing-column

반응형