我有有一个主键整数表:必须从以前的一个在数据库中找到递增的SQLite自动增加非主键
CREATE TABLE TBL (ID INTEGER PRIMARYKEY,ZID INTEGER)
这ZID整型字段。
我可以做这样的事情:
INSERT INTO TBL (zid) VALUES ((SELECT MAX(zid) + 1 FROM TBL));
然而,该整数字段的值会在某些时候,重置为零。因此我想从最后一项增加,不一定是整个表中的最大值。
我该怎么做?触发器?
谢谢。
为什么不能切换'zid'和'id'。您所要求的行为是由'PRIMARY KEY AUTOINCREMENT'提供的。事实上,你想要的是'zid'作为一个普通的主键。你想从'ID'找到什么?为什么有两个? – MrGumble
@MrGumble我需要两个,因为zid的值可能不是唯一的,它取决于表中的其他字段。 – Michael
你必须提供一个数据的例子;包括什么时候(如果适用)不使用'zid',当'zid'默认为0,'zid'为1时,'zid'设置为+1时。只需组成“ID”,“zid”和“a”的一些列。如果插入一个新值为'a'的值已经存在,那么'zid'是否设置为+1? – MrGumble