我在表上有一个触发器,但我不想在特定上下文中触发该触发器。
为了做到这一点,我计划:
- 锁定数据库
- 放下扳机
- 执行我的操作
- 添加触发器
- 解锁数据库
锁定数据库是必要的,以便其他线程尝试执行的任何操作都将停止,直到触发器返回到位。我如何从 C 代码中执行此操作?
最佳答案
在 a transaction 中执行您的工作通过使用 BEGIN TRANSACTION
和 COMMIT TRANSACTION
SQL:
BEGIN TRANSACTION;
DROP TRIGGER dbname.triggername;
(do other stuff)
CREATE TRIGGER ...;
COMMIT TRANSACTION;
关于c - 如何锁定 SQLite 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928093/