Selon la documentation , la différence est :
Alors qu'est-ce que ça fait :
- Essayez de faire correspondre la ligne à l'aide de l'un des index disponibles ;
- Si la ligne n'existe pas déjà :ajoutez-en une nouvelle ;
- Si la ligne existe déjà :supprimez la ligne existante et ajoutez-en une nouvelle par la suite.
Quand l'utilisation de ceci peut-elle devenir utile sur un insert
séparé et update
déclarations ?
- Vous pouvez l'appeler en toute sécurité, et vous n'avez pas à vous soucier des lignes existantes (une instruction contre deux) ;
- Si vous souhaitez que les données associées soient supprimées lors de l'
inserting
/updating
, vous pouvez utiliserreplace
: il supprime également toutes les données associées ); - Lorsque les déclencheurs doivent se déclencher et que vous attendez une
insert
(mauvaise raison, d'accord).