2013-04-19 2 views
8

mysql innodb 테이블 Auto_Increment 열에 값을 삽입하고 싶습니다.MYSQL의 자동 식별 열에 값을 삽입하는 방법

기존 테이블의 일부 데이터를 ID가있는 새 테이블에로드하고 기존 테이블의 기존 값을 유지해야하므로 기존 Id 값을 유지해야하지만 새 값은 Auto_Increment으로 유지해야합니다. 값.

MS T-SQL에서 insert 쿼리 스크립트를 SET SET IDENTITY_INSERT MyTable ON으로 시작하고 쿼리를 SET SET IDENTITY_INSERT MyTable OFF으로 끝냅니다.

어떻게하면 MySQL에서 동일한 작업을 수행 할 수 있습니까? 값이 다른 테이블에서오고하는 경우 사용할 수 있습니다

INSERT INTO my_table(auto_inc_field, other_field) VALUES(8547, 'some value'); 

:

+0

왜? MySQL이 자동으로 제공하는 값이 적합하지 않습니까? –

+0

열을 삽입해야하는 이유는 무엇입니까? –

+0

자동 식별 열은 MySQL에 의해 자동으로 채워집니다. 다른 번호를 원하면 별도의 필드를 유지해야합니다. –

답변

5

그냥 평소처럼 않는

INSERT INTO my_table(auto_inc_field, other_field) 
SELECT auto_inc_field, other_field FROM other_table; 
+2

그리고 데이터를 가져 오면 auto_inc_field의 정수가 0 또는 NULL 인 경우 생성 할 새로운 ID 값이 표시됩니다. "외래 키 제약 xxx 위반". 이 대답은 질문보다는 오히려 downvoted 일 가치가 있습니다 ... –

+0

누군가가 저를 가로 질러서 넘어지면 ID가있는 행을 삽입했습니다. 'ALTER TABLE test AUTO_INCREMENT = 10'을 사용하여 auto_inc_field를 수동으로 설정할 수 있습니다. 여기서 10은 삽입 된 행에 사용될 다음 값입니다. –

관련 문제