본문 바로가기
개발공부/개발하다_발견함

mysql 다중 update 할 때 대박주의해야하는부분

by 맙소사 2022. 2. 23.

 

대충격에 휩싸이게 된 오늘의 사건.

 

1
2
3
4
5
6
7
8
9
UPDATE tablename1 as A
     , tablename2 as B
     , tablename3 as C  
SET    A.delYN = 'Y'
     , B.delYN = 'Y'
     , C.delYN = 'Y' 
WHERE  A.Seq = 1
AND    B.Seq = 1
AND    C.Seq = 1    
cs

위와 같은 쿼리를 쓰는데 계속 업데이트문 수행이 되어도 막상 디비에 적용이 안 되는 것임 . . . 왜지??? 왜???

싶었는데 세 테이블 중 하나라도 (그러니까 저 where 조건문 중 한개라도) false가 되면 업데이트가 되지 않음

tablename1이랑 tablename2에 seq가 1이 있지만 tablename3에 seq 1이 없다면 업데이트가 안 되는거임 ...!!!!!!!!!!

아!!!!!!!!!!!!!!!!!!!!!!!!!!!! 대환장!!!!!!!!!!!!!! and 조건이라서 당연한건데  이걸 ... 이걸 내가 눈치를 못 채고 있었다는게...

ㅠㅠ

근데 또 or 조건으로 바꾸면 안됨 . . .

세 개 중 하나에라도 없으면 안되는 거임... 왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...왜 ...

 

&ㅁㄴㅇㅁㄴㅇ아니 심지어 이 아래로 글ㅈ 쓰면 날아감 

 

댓글