MySQL INSERT ON DUPLICATE KEY UPDATE

Dans ce tutoriel nous allons découvrir comment utiliser l’instruction MySQL INSERT ON DUPLICATE KEY UPDATE pour mettre à jour les données si une copie de l’index UNIQUE ou une erreur PRIMARY KEY se produit lorsque vous insérez une ligne dans une table.
 
 

Exemple de l’instruction INSERT ON DUPLICATE KEY UPDATE

Prenons un exemple d’utilisation de l’instruction INSERT ON DUPLICATE KEY UPDATE pour voir comment elle fonctionne. Pour cela nous allons utiliser la table « Contact ».

CREATE TABLE Contact (id INT PRIMARY KEY, email VARCHAR(30));

INSERT INTO contact VALUES (1,'[email protected]') 
                           (2,'[email protected]'),
                           (3,'[email protected]');


 
Si nous exécutons une requête INSERT standard avec une valeur de clé primaire égale à 1 échouera, en raison du clé existante:

INSERT INTO Contact VALUES (1,'[email protected]');


 
Liste des commandes MySQL

INSERT INTO Contact VALUES (1,'[email protected]') 
ON DUPLICATE KEY UPDATE email='[email protected]';


 
Notez qu’il y a deux lignes signalées comme affectées, puisque la ligne avec l’ID 1 existe déjà dans la table des contactes, l’instruction met à jour l’email « [email protected] » en « [email protected] ».
 

Questions techniques sur MYSQL

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *