2011-09-01 4 views
0

두 개의 테이블 Token 및 distinctToken이 있습니다. 다음은 두 테이블에 대한 설명입니다.두 테이블에 공통적으로 텍스트 필드가있는 경우 한 테이블의 열을 다른 테이블에서 업데이트하는 방법

토큰 (아이디 INT 텍스트 VARCHAR (100) utokenid의 INT)

distinctToken (아이디 INT 텍스트 VARCHAR (100)) 모두 테이블

텍스트 필드가 하나의 예외가있는 동일한 데이터, 즉 토큰 테이블의 텍스트 필드에는 반복되는 항목이 들어 있습니다.

utokenid가 외래 키가되도록 토큰 테이블을 업데이트하려고했습니다. 더 구체적으로 나는 의 값을 설정하고 싶습니다. Token.utokenid = distinctToken.id 여기서 Token.text는 distinctToken.text과 같습니다. 업데이트를 사용하여 가능합니까 아니면 저장 프로 시저를 작성해야합니까?

답변

2
UPDATE Token t, distinctToken dt SET t.utokenid = dt.id WHERE t.text = dt.text; 

나는 뭔가가 부족합니까?

+0

동일한 쿼리를 실행할 때마다 10 분 후에 종료 될 때까지 100 % 맞고 아무것도 없어졌습니다. mysql은 업데이트를 실행하는 데 31 분이 걸렸습니다. 감사합니다 –

+0

먼저 두 열에 인덱스를 추가하면됩니다. 필요한 경우 색인을 완성한 후에 삭제할 수 있습니다. – Zds

관련 문제