Lorsque vous travaillez avec des identifiants uniques multi-colonnes dans MySQL, le défi se pose de gérer efficacement à la fois les mises à jour et insertions. Bien que la syntaxe 'UPDATE ON DUPLICATE KEY' semble être une solution appropriée, elle nécessite une clé unique pour fonctionner.
Cependant, vous pouvez créer une clé composite à partir de plusieurs colonnes, ce qui permettra 'UPDATE ON DUPLICATE KEY'. pour fonctionner comme souhaité. Voici comment procéder :
Pour créer une clé composite, utilisez la syntaxe suivante :
CREATE INDEX <index_name> ON <table_name> (<column1>, <column2>);
Par exemple, créons une clé composite pour le tableau à trois colonnes mentionné dans la question :
CREATE INDEX unique_index ON my_table (col_1, col_2);
Une fois la clé composite créée, vous pouvez exécuter des requêtes 'UPDATE ON DUPLICATE KEY' pour mettre à jour ou insérer des enregistrements en fonction des valeurs de la clé. La syntaxe est la suivante :
INSERT INTO <table_name> (col_1, col_2, col_3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE col_3=col_3+1;
Dans cette requête, si un enregistrement avec les valeurs spécifiées de col_1 et col_2 existe déjà, col_3 sera incrémenté de 1. Sinon, un nouvel enregistrement sera inséré.
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!