2014-03-12 3 views
0

예를 들어 보겠습니다. 두 개의 표가 있습니다.MySQL에서 단일 선택 쿼리로 여러 열을 업데이트하는 방법은 무엇입니까?

OldData 
----------- 
    id 
    name 
    address 

NewData 
----------- 
    nid 
    name 
    address 

나는 NewData 테이블과 OldData 테이블을 업데이트합니다.

나는 다음과 같은 쿼리를 사용하는 것을 시도하고 그 목적을 위해

:

UPDATE OldData SET (name, address) = (SELECT name, address FROM NewData WHERE nid = 234) 
WHERE id = 123 

그러나 구문 오류가 있습니다.

내가 시도한 올바른 방법은 무엇입니까?

+2

그게 전부 내가 왜 여기 –

답변

3
UPDATE OldData o, NewData n 
SET n.name = o.name, n.address = o.address 
where n.nid=234 and o.id=123; 
+0

가 그것은'설정해야합니다 수도 필요 o.name = n.name, o.address = n.address'. –

0

이 시도 :

Update oldData set name = (select name from newData where nid = 234),address = (select address from newData where nid = 123); 
+0

요청이 선택 쿼리는 성능 문제 –

0

이 시도 :

UPDATE OldData a,NewData b 
SET a.name = b.name , a.address = b.address 
WHERE a.id=123 AND b.nid = 234 
관련 문제