MySQL INSERT IGNORE

Lorsque vous utilisez l’instruction INSERT pour ajouter plusieurs lignes à une table et si une erreur se produit pendant le traitement, MySQL met fin à l’instruction et renvoie une erreur. En conséquence, aucune ligne n’est insérée dans la table.

Pourtant, si vous utilisez l’instruction INSERT IGNORE, les lignes contenant des données non valides à l’origine de l’erreur sont ignorées et les lignes contenant des données valides sont insérées dans la table.
 
 

Exemple en utilisant l’instruction INSERT IGNORE

Nous allons créer une nouvelle table appelée « Contact » pour la démonstration.

CREATE TABLE Contact (
    id INT PRIMARY KEY AUTO_INCREMENT,
    num_tel VARCHAR(50) NOT NULL UNIQUE
);

La contrainte UNIQUE garantit qu’aucun numéro de téléphone en double n’existe dans la colonne num_tel.
Liste des commandes MySQLListe des commandes MySQLDans ce tutoriel vous allez découvrir les différentes commandes MySQL qui devraient être utiles pour travailler avec des bases de données.     1. Pour…Lire plus L’instruction suivante insère une nouvelle ligne dans la table « Contact »:

INSERT INTO Contact(num_tel) VALUES('0725480036');


 
Cela fonctionne comme prévu.

Exécutons maintenant une autre instruction qui insère deux lignes dans la table « Contact »:

INSERT INTO Contact(num_tel) VALUES('0725480036'), ('0788903471');

Cela retourne une erreur.
 

 
 
Comme indiqué dans le message d’erreur, le numéro de téléphone 0725480036 viole la contrainte UNIQUE. Donc le deuxième numéro n’est pas inséré dans la table « Contact ».
 

 
Si vous utilisez plutôt l’instruction INSERT IGNORE, le deuxième numéro sera inséré dans la table « Contact ».

INSERT IGNORE INTO Contact(num_tel) VALUES('0725480036'), ('0788903471');

 

 
Pour vérifier si le deuxième numéro est inséré dans la table « Contact », nous exécutions la requête suivante:
 

 
En conclusion, lorsque vous utilisez l’instruction INSERT IGNORE au lieu d’émettre une erreur, MySQL émet un avertissement en cas d’erreur.
Questions techniques sur MYSQLQuestions techniques sur MYSQL – Partie 1Nous avons divisé cette collection de questions techniques sur MYSQL sous sept chapitres là, c’est la premiere, puis vous trouverez la deuxième partie, la troisième…Lire plus

Partagez cet article

Laisser un commentaire

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