REPLACE INTO table(column_list) VALUES(value_list);
est une forme abrégée de
INSERT OR REPLACE INTO table(column_list) VALUES(value_list);
Pour que REPLACE s'exécute correctement, la structure de votre table doit comporter des lignes uniques, qu'il s'agisse d'une simple clé primaire ou d'un index unique.
REPLACE supprime, puis INSERTE l'enregistrement et provoque l'exécution d'un déclencheur INSERT si vous en avez configuré un. Si vous avez un déclencheur sur INSERT, vous pouvez rencontrer des problèmes.
Il s'agit d'une solution de contournement la vitesse n'a pas été vérifiée
INSERT OR IGNORE INTO table (column_list) VALUES(value_list);
suivi de
UPDATE table SET field=value,field2=value WHERE uniqueid='uniquevalue'
Cette méthode permet d'effectuer un remplacement sans provoquer de déclenchement.