2011-10-12 2 views
1

안녕하세요 두 개의 테이블이 있습니다.MySQL의 데이터베이스 테이블 데이터 일괄 업데이트

TBL1는

id    int(11)  NOT NULL 

positionName varchar(20) NULL 

positionId  int(11)  NULL 

TBL2

positionId   int(11)  NOT NULL 

positionName  varchar(20) NULL 

원래 tbl1에는 열 positionId 없다. 이제 tbl1positionName 대신 positionId을 사용합니다.

문제는 두 테이블에 이미 수천 개의 데이터가 저장되어 있다는 것입니다.

tbl1의 각 데이터에 대해 positionId에 성공적으로 신속하고 올바르게 연결할 수있는 방법은 이전에 positionName을 사용 했습니까?

일괄 업데이트는 방법입니까?

어쨌든 SQL 브라우저로 모든 것을 수행 할 수 있습니까? 가능하다면 코딩을 사용하고 싶지 않습니다.

미리 감사드립니다.

답변

1

다중 테이블 UPDATE을 찾으십니까?

UPDATE tbl1 
JOIN tbl2 ON tbl1.positionName = tbl2.positionName 
SET tbl1.positionId = tbl2.positionId 
WHERE tbl1.positionId IS NULL 

나는 positionNametbl2에 고유 있으리라 믿고있어,하지만 그렇지 않은 경우, 당신은 당신이 그것을 처리 할 방법을 생각해야합니다.

+0

NICE 솔루션. 정말 감사합니다. 아주 잘 작동합니다. 네'positionName'은'tbl2'에서 유일합니다 – kitokid

관련 문제