Maison > base de données > tutoriel mysql > Comment puis-je insérer ou mettre à jour efficacement des données dans MySQL ?

Comment puis-je insérer ou mettre à jour efficacement des données dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-12-20 15:14:21
original
885 Les gens l'ont consulté

How Can I Efficiently Insert or Update Data in MySQL?

Insérer ou mettre à jour efficacement des données dans une table MySQL

Considérez un scénario dans lequel vous souhaitez insérer une nouvelle ligne de données si elle n'existe pas , ou mettez à jour une ligne existante si c'est le cas. Dans ce cas, vous pourriez être tenté d'utiliser une instruction UPDATE comme celle fournie dans la question. Cependant, cette approche a ses limites.

L'utilisation de INSERT ... ON DUPLICATE KEY UPDATE fournit une solution plus efficace. Voici comment cela fonctionne :

La clause INSERT tente d'insérer une nouvelle ligne dans la table AggregatedData avec les valeurs spécifiées. Si une ligne avec le même datenum existe déjà, la clause ON DUPLICATE KEY UPDATE entre en jeu.

La clause UPDATE précise quelles colonnes mettre à jour dans la ligne existante. Dans ce cas, nous souhaitons mettre à jour la colonne Timestamp avec la valeur fournie ("2010-01-14 23:30:00.000").

Contrairement à l'instruction UPDATE, nous n'avons pas besoin d'inclure datenum dans la clause UPDATE puisqu'il s'agit de la clé unique et doit rester inchangée.

L'utilisation de la fonction VALUES() garantit que les valeurs correctes sont utilisées lorsque mettant à jour les autres colonnes.

Voici l'instruction révisée à l'aide de INSERT ... ON DUPLICATE KEY UPDATE :

INSERT INTO AggregatedData (datenum,Timestamp)
VALUES ("734152.979166667","2010-01-14 23:30:00.000")
ON DUPLICATE KEY UPDATE
  Timestamp=VALUES(Timestamp)
Copier après la connexion

Cette approche gère efficacement à la fois l'insertion et la mise à jour dans une seule instruction, rendant ainsi la gestion des données dans votre table MySQL plus rationalisée.

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