Maison >base de données >tutoriel mysql >Comment insérer des enregistrements dans SQLite uniquement s'ils n'existent pas déjà ?
SQLite : insérer des enregistrements uniquement s'ils n'existent pas
Dans SQLite, la syntaxe IF NOT EXISTS utilisée dans Microsoft SQL Server n'est pas directement pris en charge. Cela peut être un défi lorsque vous essayez d'insérer des enregistrements tout en garantissant leur unicité.
Solution de contournement 1 : INSÉRER OU IGNORE
Une solution de contournement consiste à utiliser la commande INSÉRER OU IGNORE. Cette syntaxe permet d'insérer un nouvel enregistrement dans une table, mais si un enregistrement avec la même clé existe déjà, l'insertion sera ignorée. Par exemple :
INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES 'ANI Received';
Solution 2 : SELECT et INSERT
Une autre approche consiste à utiliser une combinaison d'une instruction SELECT et d'une instruction INSERT :
INSERT INTO EVENTTYPE (EventTypeName) SELECT 'ANI Received' WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');
Cette syntaxe vérifie si un enregistrement avec le EventTypeName spécifié existe déjà. Si ce n'est pas le cas, l'instruction INSERT est exécutée et un nouvel enregistrement est ajouté à la table.
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!