SQLITE資料表主鍵設定Id自增方法

2021-07-30 06:26:51 字數 708 閱讀 5719

原文**:

搞定了乙個困擾許久的問題,原來sqlite中的主鍵也是可以設定為自增的:)方法就是宣告為 integer primary key 的字段可以自動增加。

網上查到資料說,從 sqlite 的 2.3.4 版本開始,如果將乙個表中的乙個字段宣告為 integer primary key,那麼只需向該錶的該字段插入乙個 null 值,這個 null 值將自動被更換為比表中該字段所有行的最大值大 1 的整數;如果表為空,那麼將被更換為 1。

create table "processlist"(

[id] integer(4) primary key

,[type] varchar(20)

,[name] varchar(30)

,[isuse] int)執行

insert into processlist

values

(null,'a','b',1)

在邏輯意義上等價於:

insert into processlist values((select max(id) from processlist)+1, 'a','b',1);

insert into processlist

values

(null,'aa','bb',1)

執行兩條插入語句後再查詢表中資料:

select * from processlist

結果如下:

SQLITE資料表主鍵設定Id自增方法

搞定了乙個困擾許久的問題,原來sqlite中的主鍵也是可以設定為自增的 方法就是宣告為 integer primary key 的字段可以自動增加。網上查到資料說,從 sqlite 的 2.3.4 版本開始,如果將乙個表中的乙個字段宣告為 integer primary key,那麼只需向該錶的該字...

SQLITE資料表主鍵設定Id自增方法

建立資料 設定主鍵自增 建立資料庫時,啟用主鍵自增加特性 create table testtable id integer primary key autoincrement,注意事項 設定主鍵自增時 autoincrement 主鍵型別必須是integer,不能使用int,否則會報錯。插入資料後...

SQLITE資料表主鍵設定Id自增方法

搞定了乙個困擾許久的問題,原來sqlite中的主鍵也是可以設定為自增的 方法就是宣告為 integer primary key 的字段可以自動增加。網上查到資料說,從 sqlite 的 2.3.4 版本開始,如果將乙個表中的乙個字段宣告為 integer primary key,那麼只需向該錶的該字...