多线程或WAL会影响SQLite触发器吗?

时间:2014-01-29 08:10:19

标签: sqlite

我有两个主题:一个读者和一个作家。数据库设置为WAL模式下的日志。我在reader对象上创建了以下触发器:

CREATE TEMPORARY TRIGGER 'Foo.trigg' 
IF NOT EXISTS 
AFTER INSERT ON Foo
FOR EACH ROW 
BEGIN 
SELECT bar(NEW.id, NEW.value); 
END;

其中bar也是安装在两个对象上的自定义函数。我在吧台上放了一个断点,它永远不会到达。我做错了什么(可能在其他地方)或者SQLite不支持这样的跨线程信令吗? (我倾向于我做错了,因为即使我在写线程对象上创建了触发器,它似乎也没有碰到断点)

1 个答案:

答案 0 :(得分:1)

SQLite不是客户端/服务器数据库,它只是一个直接访问数据库文件的嵌入式库。 所有SQLite连接都是完全独立的。

触发器在执行触发触发器的实际命令的同一连接内运行,并调用在该连接中注册的用户定义函数。