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>
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>
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!