본문 바로가기

Interest/mysql

mysql - ON DUPLICATE KEY UPDATE 와 index의 상관관계



indexs걸 때 key가 되는 columns이 DUPLICATE KEY UPDATE 쿼리의 key와 일치해야 합니다.

그렇지 않으면 DUPLICATE KEY UPDATE가 되지 않고 INSERT가 되네요.

예를 들면

INSERT INTO A_TABLE
   (id, name, updttm)
   VALUES (1, 'nakaikana', date_format(now(),'%Y%m%d%H%i%s'))
ON DUPLICATE KEY UPDATE
       updttm=date_format(now(),'%Y%m%d%H%i%s')


라는 쿼리 일 때 index로 걸리는 건 id와 name 이 2개 여야 합니다.
id, name, updttm 이렇게 3개를 걸면 ON DUPLICATE KEY UPDATE 구문이 안되더군요.

트랙백을 건 포스트에서 1. key 2. unique index 가 무슨 이야기인지 잘 몰랐었는데
한번 겪어 보니 무슨 이야기인지 확 체감이 오더라는.. ㅎㅎ

잊기 전에 기록을...

'Interest > mysql' 카테고리의 다른 글

mac - mysql 접속  (0) 2012.03.02
MYSQL Explain  (0) 2008.06.30
int(4) 와 tinyint(4), smallint(4)의 차이점은?  (0) 2008.06.20