2011-03-23 5 views
4

테이블의 데이터 열을 교체하고 싶습니다.데이터 열을 다른 테이블의 다른 열로 바꿉니다.

TableA의
UID -
AnotherUid을 int로 -

TableB의
UID를 int로 -

TableA.uid = Table.B UID 을 int로 그리고 TableA의로 TableB.Uid를 대체하기 위해 노력하고 있어요 내가 TableB의에서 MySQL의에서 SQL 구문 오류가 발생했습니다

Select * from TableB a, TableA b where a.uid=b.uid 
update TableB set a.uid=b.AnotherUid 

.AnotherUid 설정 a.uid = b.An 기타.

친절하게 도와주세요.

답변

6
UPDATE TableB T 
    SET T.uid = 
    (SELECT AnotherUid 
    FROM TableA A 
    WHERE A.uid = T.uid) 
+0

사람이 좋아 그것? 나는 삭제하려했으나 아프다고 생각한다. 그것으로 서있는 im는 서있다. 그리고 나는 시험하지 않는 수단을 바로 지금 가지고있다. alocus - plz 당신이 그것과 함께 행운이 있다면 알려주십시오 –

+0

나에게 맞는 것 같아 –

+0

나는 지금 그것을 시도하고 구문 오류를 받고있다. 그러나이 쿼리는 내 것보다 훨씬 더 의미가 있습니다. – Alocus

2

이 쿼리를보십시오 : http://dev.mysql.com/doc/refman/5.0/en/update.html을 자신의 문서에서이 예제를 참조하십시오 : 업데이트 쿼리에서 조인에

Update TableB, TableA 
Set TableB.uid = TableA.AnotherUid 
Where TableB.uid = TableA.uid; 

MySQL의 설명서를 참조하시기 바랍니다

UPDATE items,month SET items.price=month.price 
WHERE items.id=month.id; 
5
UPDATE TableB SET TableB.Uid = (SELECT AnotherUid FROM TableA WHERE TableA.Uid = TableB.Uid) 
+0

이 작품은. 이걸 upvote 수 있습니다. – Alocus

+0

방금 ​​투표 할 수있는 충분한 점수를 얻었습니다 =) – Alocus

관련 문제