database - MySQL on duplicate key... get existing ID? -
i'm using on duplicate key update
handle duplicate inserts on table, in order discarded.
in case it's simple table storing tags:
- id (int, pk, ai, unsigned, not null)
- tag (varchar 25, not null, unique)
this working fine, need retrieve id - either insert id, on successful insert, or existing id, if it's duplicate.
i'm getting insert id = 0
on duplicate key update
fires, guess expected behaviour since no insert took place.
is there anyway can existing id, or headed separate read query?
you add third column modifieddate
, use that:
insert t(id, tag) select id, tag on duplicate key update modifieddate = now();
this ensure update occurs, , in turn, last_insert_id()
returns value.
Comments
Post a Comment