假设有一个带有触发器的 SQLite3 数据库,例如插入新行时。
当插入新行时,无论使用什么客户端程序,该触发器(或者更好的是相应的回调函数)是否总是被执行?
当插入新行时,无论使用什么客户端程序,该触发器(或者更好的是相应的回调函数)是否总是被执行?
是的。 SQLite 基本上是一个文件管理系统。如果可以使用 SQLite,那么无论使用 SQLite 接口的程序是什么,它的功能都完全相同。因此,只要它支持插入、删除等,它就会支持触发器。
但是,安装的 SQLite 版本可能会因新功能而施加限制。
例如2022-09-29 版本 3.39.4 包括:-
增强 SQLITE_DBCONFIG_DEFENSIVE,以便在触发器主体中的一个或多个语句写入影子表时不允许使用 CREATE TRIGGER 语句。