2012-11-26 2 views
6

기본적으로 나는
product_id 그냥 int자동 증가 값을 삽입시 다른 열로 복사합니까? 제품이 처음 인 경우

이며, 버전 제품,

는 그래서 관심의 두 개의 열이있는 테이블, id | product_id

idautoincrement 열이 있습니다 product_idid에서 생성되었습니다. 제품을 편집하면 행이 복제되므로 product_id은 동일하지만 ID가 다릅니다. ent. 그래서 우리는 먼저 우리가 두 개의 쿼리를 수행 제품, 다음 update table whatever set product_id = id where id = {the insert id}

이 작동하지만, 한 쿼리에서 그것을 할 수있는 방법이 있는지 궁금하고

삽입을 만들 때?

참고 삽입, 업데이트, 삭제에만 액세스 할 수 있습니다. 트리거 또는 저장 프로 시저가 없습니다.

update table whatever set 
product_id = id 
where id = last_insert_id() 

답변

2

LAST_INSERT_ID() 기능을 사용

우리가하고있는, 그러나 동안 두 값을 연결하는 방법이 있다면 궁금 무슨 본질적입니다
insert into whatever 
set product_id = last_insert_id() + 1; 
+2

삽입? – Hailwood

+0

카탈로그 테이블을 쿼리하여 다음 증가 값을 찾을 수 있습니다. 어느 하나인지 잊었습니다 – Bohemian

+3

질문에 대한 대답이 아닙니다. – inemanja

0

이것은 단일 쿼리는 다음과 같습니다 :

+1

행을 삽입하는 테이블이 두 개 이상인 경우이 방법이 작동한다는 보장은 없습니다. –