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')
(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 |