Maison > base de données > tutoriel mysql > Comment puis-je insérer et mettre à jour efficacement des lignes dans MySQL à l'aide de clés composites et de ON DUPLICATE KEY ?

Comment puis-je insérer et mettre à jour efficacement des lignes dans MySQL à l'aide de clés composites et de ON DUPLICATE KEY ?

Linda Hamilton
Libérer: 2024-12-02 04:52:20
original
953 Les gens l'ont consulté

How Can I Efficiently Insert and Update Rows in MySQL Using Composite Keys and ON DUPLICATE KEY?

MySQL : Utilisation de ON DUPLICATE KEY avec des colonnes composites

Lorsque vous travaillez avec des tables dépourvues d'une colonne unique, il est possible d'effectuer des insertions et des mises à jour efficaces. stimulant. Une solution consiste à utiliser la clause ON DUPLICATE KEY de MySQL, qui permet des mises à jour conditionnelles basées sur une clé spécifiée.

Dans le cas d'une table avec une combinaison de valeurs col_1 et col_2 servant d'identifiant unique, un ON La requête DUPLICATE KEY peut être construite à l’aide d’une clé composite. En créant un index PRIMARY ou UNIQUE sur les deux colonnes, vous pouvez activer l'utilisation de cette clause.

// create a composite index
CREATE INDEX my_composite_index ON my_table (column1, column2);
Copier après la connexion
// insert or update using ON DUPLICATE KEY
INSERT INTO my_table (column1, column2, column3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE column3=column3+1;
Copier après la connexion

Cette requête insérera une nouvelle ligne si la combinaison des valeurs col_1 et col_2 ne le fait pas déjà exister. Si une ligne correspondante est trouvée, elle mettra à jour la valeur de la colonne 3 en l'incrémentant de 1.

En utilisant des clés composites en conjonction avec ON DUPLICATE KEY, vous pouvez obtenir des mises à jour et des insertions conditionnelles efficaces, même en l'absence d'une seule colonne unique.

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