Splendid! Many thanks! On Fri, Aug 18, 2017 at 1:47 PM Richard Hipp <d...@sqlite.org> wrote:
> On 8/18/17, Wout Mertens <wout.mert...@gmail.com> wrote: > > > > So, bottom line, is there a way to insert or replace a row so that first > > the id constraint is observed (replacing a previous row with the same > id), > > and then the k constraint is verified (failing to replace if k is already > > present in the table)? > > > CREATE TABLE demo(id INTEGER PRIMARY KEY, k TEXT, otherstuff ANY); > CREATE INDEX demo_k ON demo(k); > CREATE TRIGGER demo_trigger1 BEFORE INSERT ON demo BEGIN > SELECT raise(ABORT,'uniqueness constraint failed on k') > FROM demo WHERE k=new.k; > END; > > The above will force uniqueness on k for INSERT statements. You'll > want a second "BEFORE UPDATE" trigger to do similar enforcement for > UPDATEs if that is an issue for you. > > > -- > D. Richard Hipp > d...@sqlite.org > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users