SQLite多个自动增量列?

时间:2011-09-08 18:03:49

标签: sql sqlite insert auto-increment

我有以下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”时,它可以正常工作。

是否可以有两个自动增量列?如果没有,有没有一种方法可以让一列自动从另一个(自动递增)列中取出它的值?

谢谢

2 个答案:

答案 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是自动递增的值。