Możesz dodać trzecią kolumnę ModifiedDate
i użyj tego:
insert into t(id, tag)
select id, tag
on duplicate key update ModifiedDate = now();
Zapewni to, że aktualizacja naprawdę nastąpi, a co za tym idzie, że LAST_INSERT_ID()
zwraca wartość.