Maison  >  Questions et réponses  >  le corps du texte

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)

曾经蜡笔没有小新曾经蜡笔没有小新2690 Il y a quelques jours848

répondre à tous(2)je répondrai

  • 世界只因有你

    世界只因有你2017-06-07 09:27:03

    INSERT ... ON DUPLICATE KEY UPDATEREPLACEIl 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.

    répondre
    0
  • 迷茫

    迷茫2017-06-07 09:27:03

    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

    répondre
    0
  • Annulerrépondre