2017-10-02 2 views
0

J'utilise INSERT OR IGNORE et INSERT OR REPLACE, j'essaie d'obtenir SQLite pour signaler chaque fois que la condition OR IGNORE ou OR REPLACE s'est produite.Rapport SQLite sur le conflit

J'ai regardé en utilisant TRIGGER mais n'a pas pu le faire fonctionner comme prévu. Le comportement souhaité consiste à déclencher un avertissement lorsque la condition OR était vraie.

Répondre

0

Il est possible de combiner les déclencheurs AFTER INSERT/DELETE avec user-defined functions pour indiquer si certaines lignes ont été insérées/supprimées ou non. Toutefois, ces instructions sont destinées à être utilisées lorsque vous ne vous souciez pas du cas qui s'est réellement passé. La manière la plus simple de détecter si la même valeur existe déjà dans la table est d'exécuter un SELECT.

+0

Mais que je devrais exécuter SELECT sur chaque insertion, non? D'où la gâchette semble assez bien couvrir mon cas d'utilisation. Je vais vérifier dans le lien que vous avez fourni. –