"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment les `sur Duplicate Key Update 'de MySQL peuvent-ils gérer les inserts et les mises à jour?

Comment les `sur Duplicate Key Update 'de MySQL peuvent-ils gérer les inserts et les mises à jour?

Publié le 2025-03-23
Parcourir:361

How Can MySQL's `ON DUPLICATE KEY UPDATE` Handle Both Inserts and Updates?

MySql's sur la mise à jour de la clé en double : gérer efficacement les inserts et les mises à jour

Les opérations de la base de données nécessitent souvent l'insertion de nouvelles lignes tout en gérant simultanément des mises à jour pour les lignes existantes avec des clés uniques correspondantes. L'insertion puissante ] de MySQL ... sur la mise à jour de la clé en double résout élégamment ce problème commun.

Le défi: éviter les entrées en double

Le but est d'ajouter une nouvelle ligne à une table, mais si une ligne avec la même clé unique (comme un ID) existe déjà, mettez à jour cette ligne existante au lieu de créer un double.

La solution: insérer ... sur la mise à jour de la clé en double

Cette commande unique réalise à la fois la fonctionnalité d'insertion et de mise à jour:

  • insertion: Si aucune clé unique ne correspond, une nouvelle ligne est insérée avec les valeurs spécifiées.
  • Update: Si une ligne avec la même clé unique existe déjà, les colonnes spécifiées de cette ligne sont mises à jour avec les valeurs fournies.

Exemple illustratif:

Considérez cette requête:

INSERT INTO my_table (id, name, age) VALUES (1, 'Alice', 30) ON DUPLICATE KEY UPDATE name = 'Alice', age = 30;

Voici la ventilation:

  • La tentative est d'insérer une ligne avec id = 1 , name = 'Alice' , et Âge = 30 .
  • si id = 1 existe déjà, la clause sur la clause en double prend effet.
  • Les colonnes name et de la ligne existante sont mises à jour aux valeurs fournies dans la requête. Cela fusionne efficacement les nouvelles données avec l'enregistrement existant.

Cette approche rationalise la gestion de la base de données, empêchant les entrées en double et garantissant la cohérence des données avec une seule instruction SQL concise.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3