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).