2011-09-08 83 views
4

我有下面的SQL我想用來創建一個表和一些列。作爲它的一部分,我想要兩列自動增加一個整數。當我嘗試使用下面的代碼時,它給了我一個錯誤。SQLite多個自動增量列?

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」時,它工作正常。

是否有可能有兩個自動增量列?如果沒有,是否有一種方法可以讓一列自動從另一列(自動遞增)中插入值作爲插入的列?

謝謝

回答

9

你不能有兩個自動增量領域。你應該使用一個自動增量字段。鑑於這兩個字段對於每一行都將具有相同的值,因此無論如何都沒有理由需要這樣的字段。

+3

我需要最初具有相同值的兩個字段,但「位置」字段將在稍後更新,所以我確實需要兩個單獨的值。有沒有辦法讓我的「位置」字段自動從「rowID」中插入值? – levi

+0

@levi:據我所知,你不能更新自動增量字段的值。通過變化的值定義主鍵也沒有任何意義。 –

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是自動遞增的值。