Maison > base de données > tutoriel mysql > Insertion ou mise à jour MySQL : comment gérer efficacement les colonnes de clé non primaire uniques ?

Insertion ou mise à jour MySQL : comment gérer efficacement les colonnes de clé non primaire uniques ?

DDD
Libérer: 2024-12-06 04:53:10
original
663 Les gens l'ont consulté

MySQL Insert or Update: How to Handle Unique Non-Primary Key Columns Efficiently?

Insérer ou mettre à jour MySql en fonction d'une condition unique

L'insertion de données dans une table MySQL implique souvent de vérifier si les données existent déjà avant d'effectuer une mise à jour . Cependant, lorsqu'il s'agit de colonnes de clé non primaire uniques, l'instruction UPDATE traditionnelle est insuffisante.

Dans ce cas, l'utilisateur recherche une méthode efficace pour insérer des données dans une table AggregatedData si la colonne datenum n'existe pas. , ou mettez à jour la ligne existante si c'est le cas.

Solution : INSÉRER... SUR LA CLÉ EN DOUBLE UPDATE

Comme suggéré par Jai, la solution la plus appropriée est d'utiliser la syntaxe 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 instruction effectue une insertion si le datenum n'est pas trouvé. Si elle existe, elle met à jour la colonne Timestamp avec la valeur fournie dans la fonction VALUES().

Explication

La fonction VALUES() garantit que les valeurs utilisées pour la mise à jour sont les mêmes que celles spécifiées dans l'instruction INSERT. Cela évite les mises à jour accidentelles des valeurs de colonne.

Avantages de INSERT ... ON DUPLICATE KEY UPDATE

  • Fournit une seule instruction pour insérer ou mettre à jour des données, simplifiant ainsi le processus. code.
  • Maintient l'intégrité des données en empêchant les entrées en double.
  • Offre des performances optimisées en éviter les contrôles redondants.

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