2012-06-15 5 views
0

다음은 내 쿼리 및 관련 오류입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?중첩 된 쿼리로 업데이트

UPDATE aaalogin SET name = 
(
    SELECT aaacontactinfo.emailid 
    FROM aaacontactinfo, aaalogin, aaausercontactinfo 
    WHERE aaalogin.user_id = aaausercontactinfo.user_id 
    AND aaausercontactinfo.contactinfo_id = aaacontactinfo.contactinfo_id 
); 
+0

이것이 무엇인지 모릅니다. 당신은 정교 할 수 있습니까? - 바보, 나는 당신이 mysql을 가지고 뭔가에 대해 이야기하고 있다고 생각했다. 나는 그것이 작동하는 것을 찾을 때 대답을 받아 들일 것이다. –

+0

내일 열어 보겠습니다. 좋은 밤 –

답변

0

aaausercontactinfoFROM 테이블 목록에 포함되지 얻을으로 시도 부질의. 심지어 하위 쿼리가 여러 레코드를 반환 할 수도 있습니다.

+0

오류를 가져옵니다. "FROM 절에서 업데이트 할 대상 테이블 'aaalogin'을 지정할 수 없습니다." –

0

이 aaalogin에 대한

UPDATE aaalogin SET name = 
(
    SELECT aaacontactinfo.emailid 
    FROM aaacontactinfo, aaausercontactinfo 
    WHERE aaalogin.user_id = aaausercontactinfo.user_id 
    AND aaausercontactinfo.contactinfo_id = aaacontactinfo.contactinfo_id 
); 

필요에 시도하지 :

update aaalogin 
    set name = 
     (select aaacontactinfo.emailid 
     from aaacontactinfo 
     WHERE aaalogin.user_id = aaausercontactinfo.user_id 
      and aaausercontactinfo.contactinfo_id = aaacontactinfo.contactinfo_id 
    ); 

내가

Error: Unknown column 'aaausercontactinfo.user_id' in 'where clause'

+0

ERROR 1062 (23000) : 키 'AaaLogin_UK10'에 대한 중복 항목 '-' –

+0

이름 열이 고유하고 하위 쿼리가 기존 이름 '-'을 반환합니다. – user1149201

관련 문제