Maison > base de données > tutoriel mysql > Comment la mise à jour de clé en double de MySQL peut-elle gérer efficacement les insertions et les mises à jour en masse ?

Comment la mise à jour de clé en double de MySQL peut-elle gérer efficacement les insertions et les mises à jour en masse ?

Susan Sarandon
Libérer: 2025-01-11 10:31:42
original
263 Les gens l'ont consulté

How Can MySQL's ON DUPLICATE KEY UPDATE Handle Bulk Inserts and Updates Efficiently?

Optimisation des insertions et des mises à jour en masse dans MySQL à l'aide de ON DUPLICATE KEY UPDATE

La gestion des valeurs uniques lors des insertions groupées dans les tables MySQL peut être complexe. La clause ON DUPLICATE KEY UPDATE offre une solution efficace pour insérer simultanément de nouvelles lignes et mettre à jour celles existantes en fonction de contraintes de clé uniques.

Ce guide montre comment insérer ou mettre à jour des lignes dans un tableau (par exemple, « beau ») où la colonne « nom » agit comme une clé unique. Deux approches sont présentées :

Pour MySQL 8.0.19 et versions ultérieures :

Exploitez les alias de lignes pour des mises à jour concises :

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)
AS new
ON DUPLICATE KEY UPDATE
    age = new.age
    -- ... other columns to update ...</code>
Copier après la connexion

Pour les versions MySQL antérieures à 8.0.19 :

Utilisez le mot-clé VALUES pour référencer les valeurs insérées :

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)
ON DUPLICATE KEY UPDATE
    age = VALUES(age),
    -- ... other columns to update ...</code>
Copier après la connexion

Dans les deux méthodes, ON DUPLICATE KEY UPDATE spécifie les colonnes à modifier si une clé unique en double est détectée. Cela garantit l'intégrité des données tout en gérant efficacement les insertions et les mises à jour en une seule opération.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal