sql >> Database >  >> RDS >> Mysql

Wat zijn praktische verschillen tussen `REPLACE` en `INSERT ... ON DUPLICATE KEY UPDATE` in MySQL?

REPLACE voert intern een verwijdering uit en vervolgens een invoeging. Dit kan problemen veroorzaken als u een externe sleutelbeperking hebt die naar die rij wijst. In deze situatie is de REPLACE kan mislukken of erger:als uw refererende sleutel is ingesteld om in cascade te worden verwijderd, wordt de REPLACE zal ervoor zorgen dat rijen uit andere tabellen worden verwijderd. Dit kan gebeuren, ook al is aan de beperking voldaan zowel voor als na de REPLACE bediening.

Met behulp van INSERT ... ON DUPLICATE KEY UPDATE vermijdt dit probleem en heeft daarom de voorkeur.



  1. SQL Server-fout 113:eindcommentaar '*/' ontbreekt

  2. Hoe repareer je de URL van de inhoudsprovider die niet wordt gevonden in de Android-inhoudsprovider?

  3. Herstel dump op de externe machine

  4. Update SQL met opeenvolgende nummering