다른 테이블의 변수를 사용하여 계산을 기반으로 하나의 mysql 테이블 업데이트

StackOverflow https://stackoverflow.com/questions/1641974

  •  10-07-2019
  •  | 
  •  

문제

다른 테이블의 값을 기반으로 한 테이블을 업데이트하려고합니다. 다음 요청에 어떤 문제가 있습니까? 오류: Unknown column 'source.col3' in 'where clause'

UPDATE target 
  SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
도움이 되었습니까?

해결책

글쎄, 당신은 '소스'를 어디서나 테이블로 지정하지 않습니다.

MySQL은 실제로 지원합니다 다중 테이블 업데이트, 따라서 코드를 다음과 같이 쓸 수 있습니다.

UPDATE target, source
   SET target.col1=source.col1*target.col2
 WHERE target.col3=source.col3

이제 그것이 실제로 당신이 원하는 것을 할 것인지 여부는 테이블에 대해 더 많이 알지 못하고 말할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top