Du kan lägga till en tredje kolumn ModifiedDate
och använd det:
insert into t(id, tag)
select id, tag
on duplicate key update ModifiedDate = now();
Detta säkerställer att en uppdatering verkligen sker, och i sin tur att LAST_INSERT_ID()
returnerar ett värde.