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

Hvad er praktiske forskelle mellem 'REPLACE' og 'INSERT ... ON DUPLICATE KEY UPDATE' i MySQL?

REPLACE udfører internt en sletning og derefter en indsættelse. Dette kan forårsage problemer, hvis du har en fremmednøglebegrænsning, der peger på den række. I denne situation er REPLACE kunne mislykkes eller værre:hvis din fremmednøgle er indstillet til kaskadesletning, vil REPLACE vil få rækker fra andre tabeller til at blive slettet. Dette kan ske, selvom begrænsningen blev opfyldt både før og efter REPLACE operation.

Brug af INSERT ... ON DUPLICATE KEY UPDATE undgår dette problem og foretrækkes derfor.



  1. ExecuteReader kræver en åben og tilgængelig forbindelse. Forbindelsens aktuelle tilstand er Forbinder

  2. PHP-kommandoer ude af synkronisering

  3. Hvordan FOR XML PATH('') virker ved sammenkædning af rækker

  4. SQLiteDiskIOException med fejlkode 10:disk I/O fejl