mysql ON DUPLLICATE KEY UPDATE 질문입니다. 0 1 1,528

by visca구루비 [MySQL] [2017.06.08 09:14:30]


INSERT INTO table_A
  ( column1, column2, column3 )
SELECT
  value1, value2, 1
FROM table_B WHERE column_1 = ${column_1}
  ON DUPLICATE KEY UPDATE
   column1 = ( SELECT column_1 FROM table_B WHERE column_1 = ${column_1} )  , column2 = ( SELECT column_2 FROM table_B WHERE column_1 = ${column_1} )
  , column3 = 1

 

이런식으로  table_A에 key값이 중복일 경우 UPDATE를 하고 아니면 INSERT를 하게 처리했습니다

테스트 하는데 key값이 중복인 경우에 colum3에 1로 UPDATE가 되어야 하는데

UPDATE처리가 되지 않는것 같습니다.

 

제가 짠쿼리가 맞는건가요????

by 마농 [2017.06.08 11:05:58]

서브쿼리 사용해서 안되는게 아닐까요?
서브쿼리 결과가 여러건 나올 듯?
UPDATE 절에 서브쿼리 대신 table_B.value1 형태로 바꿔보세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입