2011-01-26 6 views
0

'회사'테이블에있는 'sellingDate'필드를 증가 시키려고합니다.MYSQL 중첩 쿼리 초보자 질문

UPDATE company 
    SET sellingDate = ((SELECT DATE_ADD((SELECT sellingDate 
              FROM company 
             WHERE cid = '35'), INTERVAL 1 DAY))) 
WHERE cid = '35'; 

이 쿼리는 말을 나에게 오류를 제공합니다

오류 코드 : 당신은 FROM 절

무엇 오전에 업데이트 대상 테이블 '기업'을 지정할 수 없습니다 1093
내가 여기서 잘못하고있는거야?

+0

응답 해 주셔서 감사합니다. – m0dE

답변

2

사용 :

UPDATE company 
    SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) 
WHERE cid = '35' 

MySQL은 같은 테이블에 대해 UPDATE 문에서 하위 쿼리를 허용하지 않지만, 하위 쿼리는이 예를 들어 불필요합니다. 어떤 이상한 이유 때문에 UPDATE 문에서 자체 조인은 동일한 논리이지만 1093 오류를 반환하지 않습니다.

0

보십시오 : 당신이

UPDATE company SET sellingDate=DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35'; 
0

당신은 를 업데이트 같은 테이블에서 하위 쿼리를 사용할 수 없습니다 이 필드를 증가 시키려면 쿼리 하시겠습니까?

UPDATE company SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35'; 
0

왜 중첩을 사용해야 할이 쿼리에 의해 같은 달성 할 수 그러나

UPDATE company SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35';