Hello,
i have a question. In my application I issue an insert or replace
operation. It seems that the delete trigger is not executed here. Is
there a special replace trigger?
Thanks for your help.
regards,
Tobias
Here my Session:
sqlite> select * from ch;
1|100_4664.JPG|103|94|98|64
2|100_4665.JPG|94|87|88|64
sqlite> select chId from blobdata;
1
2
sqlite> insert or replace into ch(fname) values ('100_4664.JPG');
sqlite> select chId from blobdata;
1
2
My scheme is:
table|ch|ch|2|CREATE TABLE ch(id INTEGER PRIMARY KEY, fname TEXT
UNIQUE, red INTEGER, green INTEGER, blue INTEGER, dsize INTEGER)
index|sqlite_autoindex_ch_1|ch|3|
table|blobdata|blobdata|4|CREATE TABLE blobdata(id INTEGER PRIMARY
KEY, data BLOB, chId INTEGER)
trigger|fkd|ch|0|CREATE TRIGGER fkd
BEFORE DELETE ON ch
FOR EACH ROW BEGIN
DELETE from blobdata WHERE chId = OLD.id;
END
trigger|fki|blobdata|0|CREATE TRIGGER fki
BEFORE INSERT ON blobdata
FOR EACH ROW BEGIN
SELECT RAISE(ROLLBACK, 'insert invalid')
WHERE (SELECT id FROM ch WHERE id = NEW.chId)
IS NULL;
END
index|chIdIdx|blobdata|5|CREATE UNIQUE INDEX chIdIdx ON blobdata(chId)
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users