Q&A

sql 조건식 명령어 문의

2023.06.23 06:08
1,309
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.2

안녕하세요?

 

게시판에 확장변수 extra_var4 를 추가하였습니다.

extra_var3에는 서울,경기,인천... 등등의 지역명이 들어갑니다.

기작성된 게시물 제목에 "서울"이라는 단어가 들어갈 경우 extra_var4 필드의 값을 "서울"로 일괄 바꿔주려고 합니다.

 

아래와 같이 상황을 정리하여 챗GPT를 돌려봤는데요.

 

1. 만약 테이블 "rx_documents"의  "title" 필드에 '서울'이라는 글자가 포함되어 있고

2. 테이블 "rx_document_extra_vars"의 "eid" 필드 값이 "extra_var4"이면서 "var_idx" 필드 값이 "4"인 경우에는

3. 테이블 "rx_document_extra_vars"의 "value" 필드 값을 "서울"로 바꾸는 sql 명령어
 

아래와 같은 답변이 나와서 실행시켜봤더니 지역명 서울이 포함된 타이틀과 상관없이 모든 value 값이 서울로 바뀌어버렸습니다.

 

UPDATE rx_document_extra_vars
SET value = '서울'
WHERE eid = 'extra_var4'
  AND var_idx = '4'
  AND EXISTS (
    SELECT 1
    FROM rx_documents
    WHERE title LIKE '%서울%'
  );

 


위 코드를 어떻게 바꿔야할까요?

도움주시면 감사하겠습니다.

 

댓글 2

  • 2023.06.23 09:29 #1770444

    글을 기준으로 업데이트하는 쿼리인데 document_srl이 등장하지 않는 것이 이상하네요.

     

    UPDATE rx_document_extra_vars

    SET value = '서울'

    WHERE eid = 'extra_vars4'

    AND var_idx = '4'

    AND document_srl IN (

        SELECT document_srl

        FROM rx_documents

        WHERE title LIKE '%서울%'

    );

  • 2023.06.23 13:16 #1770483
    안녕하세요?
    답변 감사합니다.
    실행이 잘되네요.
    주말에 게시물을 일일이 클릭해서 수정해야하나 했는데 다행입니다.
    즐건 주말되세요~