我有以下SQL我试图用来创建一个表和一些列。作为其中的一部分,我希望其中两列自动增加整数。当我尝试使用下面的代码时,它给了我一个错误。
CREATE TABLE IF NOT EXISTS 'tasks' (
'rowID' INTEGER,
'gID' INTEGER,
'task' TEXT,
'status' TEXT,
'position' INTEGER,
'updated' INTEGER,
'inlist' TEXT,
'deleted' TEXT,
PRIMARY KEY AUTOINCREMENT ('rowID','position')
)
当我从SQL中删除关键字“AUTOINCREMENT”时,它可以正常工作。
是否可以有两个自动增量列?如果没有,有没有一种方法可以让一列自动从另一个(自动递增)列中取出它的值?
谢谢
答案 0 :(得分:10)
您不能拥有两个自动增量字段。您应该使用单个自动增量字段。鉴于两个字段对于每一行总是具有相同的值,所以无论如何都没有理由拥有这样的字段。
答案 1 :(得分:5)
I need two fields with the same values initially, but the "position" field will be updated at a later time, so I do need two separate values. Is there a way I can have the "position" field automatically take the value from "rowID" as its being inserted
http://www.sqlite.org/lang_createtrigger.html
尝试使用插入后触发器,将colB =设置为colA的值。 ColA是自动递增的值。