본문 바로가기
MySql

MySQL SELECT 하위 쿼리의 결과를 사용하여 열 업데이트

by 베이스 공부 2020. 10. 10.
반응형

이 쿼리는 오류를 반환합니다. "하위 쿼리가 둘 이상의 행을 반환합니다.":

UPDATE forums as f 
SET f.f_last_pid = (SELECT pid FROM  posts ORDER BY  ptime DESC )

하위 쿼리 전에 ANY 를 사용해야한다는 것을 알고 있지만 원하는 결과를 얻지 못할 것입니다. 하위 쿼리에서 표시된 결과를 기반으로 포럼 테이블의 모든 행을 업데이트하고 싶습니다.

 

해결 방법

 

UPDATE forums as f 
SET f.f_last_pid = 
    (SELECT pid FROM posts ORDER BY ptime DESC LIMIT 1 )

그러나 (당신의 스키마를 실제로 알지 못하는 상태에서), 당신은이 테이블을 어떤 것에 조인하지 않습니다. forums 의 모든 last_pid posts 의 마지막 게시물에 의해 업데이트됩니다.

 

참조 페이지 https://stackoverflow.com/questions/5794570

 

 

반응형

댓글