Gérer efficacement plusieurs lignes avec la mise à jour de la clé en double de MySQL
MySQL offre une approche simplifiée pour gérer les insertions de plusieurs lignes tout en vérifiant et en mettant à jour simultanément les valeurs uniques existantes. Ceci est accompli en utilisant la clause ON DUPLICATE KEY UPDATE
. Cette fonctionnalité permet des mises à jour conditionnelles ou des insertions de champs spécifiques au sein d'une seule requête.
Pour mettre à jour de manière sélective les lignes existantes et en ajouter de nouvelles, utilisez un alias ou le mot-clé VALUES
en conjonction avec ON DUPLICATE KEY UPDATE
.
MySQL 8.0.19 et versions ultérieures (utilisation d'un alias) :
<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</code>
MySQL 8.0.19 et versions antérieures (utilisation du mot-clé VALUES) :
<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)</code>
Ces exemples montrent comment mettre à jour ou insérer des données en fonction de clés uniques existantes. Si une clé unique existe déjà, les champs spécifiés sont mis à jour ; sinon, une nouvelle ligne est insérée. Le mot-clé VALUES
ou l'alias new
fait référence aux valeurs insérées dans l'instruction INSERT
.
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!