我有有一個主鍵整數表:必須從以前的一個在數據庫中找到遞增的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