SQLite multiple Autoincrement Columns?

2019-01-20 11:29发布

I have the below SQL I am trying to use to create a table and some columns. As part of it, I want two of the columns to autoincrement an integer. When I try using the below code it gives me an error.

    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')
)

When I remove the keyword "AUTOINCREMENT" from the SQL it works fine.

Is it possible to have two autoincrementing columns? If not, is there a way I can have one column automatically take the value from the other (auto-incrementing) column as its being inserted?

Thank you

2条回答
孤傲高冷的网名
2楼-- · 2019-01-20 11:41

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

Try using an after-insert trigger, setting colB = to colA's value. ColA is the auto-incremented value.

查看更多
倾城 Initia
3楼-- · 2019-01-20 11:53

You can't have two autoincrement fields. You should use a single autoincrement field. Given that both fields would always have the same value for every row, there's no reason to have to such fields anyway.

查看更多
登录 后发表回答