Sqlite:表约束和触发器

时间:2015-06-24 12:17:02

标签: sqlite triggers constraints

我知道SQLite中触发器的顺序是未定义的(你不能确定首先会执行什么触发器),但是,表约束和触发器之间的关系怎么样?

我的意思是,假设我有一个列中的UNIQUE(或CHECK)约束,并且该表上有BEFORE和AFTER UPDATE触发器。如果修改了UNIQUE列,sqlite何时检查UNIQUE约束?在调用BEFORE触发器之前,调用AFTER触发器之后,它们之间,还是使用未定义的顺序?

我在SQLite文档中没有找到任何关于它的内容。

1 个答案:

答案 0 :(得分:1)

当文档没有说明任何内容时,订单未定义。

只要触发器在数据库外没有副作用,这没关系,因为如果约束失败,触发器所做的任何更改都将被回滚。

请注意,SQLite非常重视向后兼容性,因此实际订单不太可能发生变化。