我正在寻找一种方法来获得一个查看Timestamp字段的触发器,如果它找到匹配的自动增量,则将该记录插入另一列。所以我会有一个时间戳字段和一个版本字段。如果插入的记录的时间戳与表中已有的记录匹配,则自动增加版本字段。任何想法......
答案 0 :(得分:1)
假设您的版本列为ver
且您的时间戳列为ts
CREATE TRIGGER foo AFTER INSERT ON sometable
BEGIN
UPDATE sometable SET
ver=(SELECT MAX(ver)+1 FROM sometable WHERE ts=NEW.ts)
WHERE rowid=NEW.rowid;
END;
如果您为ver
列指定默认值0,则条目将从1开始编号。
答案 1 :(得分:0)
我投了安东尼威廉姆斯,但经过一些测试我发现它不能正常工作。
我做了一些阅读,实际上,您可以通过向您的ID添加INTEGER PRIMARY KEY来创建SQLite内部ROWID的别名,或者只使用ROWID而不用添加自己的字段。