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
DDDoriginal
2025-01-21 11:51:09384parcourir

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 :

<code class="language-sql">INSERT INTO `usage` (`thing_id`, `times_used`, `first_time_used`)
VALUES (4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE `times_used` = `times_used` + 1;</code>

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