Mysql
 sql >> Database >  >> RDS >> Mysql

Equivalente di SQL Server 2000 per SU CHIAVE DUPLICATA?

Io uso questo:

begin tran;

update ... where ... ;

if @@rowcount = 0
  insert ...
commit tran;

A quanto ho capito, con gli indici appropriati in atto, l'aggiornamento inserisce i blocchi di intervallo appropriati che impedirebbero ad altri di inserire la stessa cosa contemporaneamente.