sql >> Databasteknik >  >> RDS >> Mysql

Vilka är praktiska skillnader mellan `REPLACE` och `INSERT ... ON DUPLICATE KEY UPDATE` i MySQL?

REPLACE utför internt en radering och sedan en infogning. Detta kan orsaka problem om du har en främmande nyckel-begränsning som pekar på den raden. I detta läge visas REPLACE kan misslyckas eller värre:om din främmande nyckel är inställd på kaskadradering, REPLACE kommer att göra att rader från andra tabeller tas bort. Detta kan hända även om begränsningen var uppfylld både före och efter REPLACE operation.

Använder INSERT ... ON DUPLICATE KEY UPDATE undviker detta problem och är därför att föredra.



  1. Vad är kardinalitet i MySQL?

  2. Hur frågar man efter värden från xml-noder?

  3. Hur du säkerhetskopierar din Moodle MariaDB-databas

  4. PHP - Säkra sidor endast för medlemmar med ett inloggningssystem