programing

하위 쿼리를 처리하기 위한 MariaDB 이전 버전

randomtip 2023. 8. 9. 22:34
반응형

하위 쿼리를 처리하기 위한 MariaDB 이전 버전

안녕하세요 마리아DB 버전 10.4.11로 개발 환경에서 테스트할 때 잘 작동하는 SQL 쿼리로 기능을 업데이트했습니다.

운영 환경에서 MariaDB 버전 10.0.38을 사용합니다.

이 버전은 간단한 하위 쿼리를 처리할 수 없습니까?

UPDATE TABLE_NAME 
SET issued_marker = 'on' 
WHERE COLUMN_ID = (SELECT COLUMN_ID FROM TABLE_NAME WHERE COLUMN_2_ID ='$id')

자체 내부 조인에서도 동일한 작업을 수행할 수 있습니다.

UPDATE TABLE_NAME t1
INNER JOIN TABLE_NAME t2 ON t1.COLUMN_ID = t2.COLUMN_ID AND t2.COLUMN_2_ID ='$id'
SET t1.issued_marker = 'on' 

하위 쿼리가 여러 행을 반환하는 경우를 제외하고 쿼리는 양호한 것으로 보입니다.

UPDATE TABLE_NAME 
SET issued_marker = 'on' 
WHERE COLUMN_ID IN (
    SELECT DISTINCT COLUMN_ID FROM TABLE_NAME WHERE COLUMN_2_ID ='$id'
); 

위 쿼리는 여러 하위 쿼리 결과에서 실패하지 않고 일치하는 모든 행을 업데이트합니다.

언급URL : https://stackoverflow.com/questions/62427718/mariadb-previous-versions-to-handle-a-subquery

반응형