Maison > base de données > tutoriel mysql > Comment puis-je insérer ou mettre à jour efficacement des données dans MySQL à l'aide d'une seule requête ?

Comment puis-je insérer ou mettre à jour efficacement des données dans MySQL à l'aide d'une seule requête ?

DDD
Libérer: 2025-01-21 11:51:09
original
427 Les gens l'ont consulté

How Can I Efficiently Insert or Update Data in MySQL Using a Single Query?

Rationalisation de la gestion des données MySQL : insertions et mises à jour d'une requête unique

MySQL offre une solution élégante pour insérer efficacement de nouvelles données ou mettre à jour des enregistrements existants en fonction de l'existence d'une clé : l'instruction INSERT ... ON DUPLICATE KEY UPDATE.

Étapes de mise en œuvre :

Commencez par une instruction INSERT standard, ciblant la table et les colonnes spécifiques.

Ajouter la clause ON DUPLICATE KEY UPDATE. Cette clause dicte les actions de mise à jour déclenchées lorsqu'une clé en double (définie par une contrainte unique ou une clé primaire) est détectée.

Au sein de la section ON DUPLICATE KEY UPDATE, définissez les colonnes à mettre à jour et leurs nouvelles valeurs.

Exemple illustratif :

Considérons un tableau nommé usage avec les colonnes thing_id, times_used et first_time_used. Pour insérer une nouvelle ligne pour un thing_id donné s'il est absent, ou incrémenter times_used si le thing_id existe déjà, utilisez cette requête :

INSERT INTO `usage` (`thing_id`, `times_used`, `first_time_used`)
VALUES (4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE `times_used` = `times_used` + 1;
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal