다른 테이블의 변수를 사용하여 계산을 기반으로 하나의 mysql 테이블 업데이트
-
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
이제 그것이 실제로 당신이 원하는 것을 할 것인지 여부는 테이블에 대해 더 많이 알지 못하고 말할 수 없습니다.
제휴하지 않습니다 StackOverflow