Quelle est la différence fonctionnelle entre l'opération de mise à jour et l'opération de remplacement en cas de conflit de clé primaire MySQL (comme indiqué dans la figure)
INSERT ... ON DUPLICATE KEY UPDATE和REPLACEIl y a une différence. Le premier exécute UPDATE après l'échec de INSERT, tandis que le second équivaut à DELETE puis INSERT Il s'avère que la ligne entière disparaît !
Plus précisément, si votre tableau comporte 3 colonnes :
id name alias
1 王五 王二麻子
Les effets de ces deux phrases sont différents :
INSERT INTO pri (id, name) VALUES (1, '李四') ON DUPLICATE KEY UPDATE name = '李四'
REPLACE INTO pri (id, name) VALUES (1, '李四')
L'ancien alias reste inchangé, mais le second deviendra nul.
insérer dans la mise à jour en double consiste à opérer sur l'enregistrement d'origine replace détermine s'il y a un doublon, supprimez-le d'abord, puis insérez-le
INSERT ... ON DUPLICATE KEY UPDATE
和REPLACE
Il y a une différence. Le premier exécute UPDATE après l'échec de INSERT, tandis que le second équivaut à DELETE puis INSERT Il s'avère que la ligne entière disparaît !Plus précisément, si votre tableau comporte 3 colonnes :
Les effets de ces deux phrases sont différents :
L'ancien alias reste inchangé, mais le second deviendra nul.
insérer dans la mise à jour en double consiste à opérer sur l'enregistrement d'origine
replace détermine s'il y a un doublon, supprimez-le d'abord, puis insérez-le