我想创建一个触发器,如果表刚刚变空,它会将自动增量id重置为0。我尝试了以下内容:
CREATE TRIGGER reset_autoincrement AFTER DELETE ON temp WHEN count(*) = 0
BEGIN
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'temp';
END
虽然SQL似乎是正确的,但它没有做我想要的。 有什么建议吗?
答案 0 :(得分:0)
WHEN子句中的表达式不在表的上下文中;没有表格的count(*)
会返回1
。
改为使用子查询:
... WHEN (SELECT count(*) FROM temp) = 0 ..