搞定了乙個困擾許久的問題,原來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自增方法
原文 搞定了乙個困擾許久的問題,原來sqlite中的主鍵也是可以設定為自增的 方法就是宣告為 integer primary key 的字段可以自動增加。網上查到資料說,從 sqlite 的 2.3.4 版本開始,如果將乙個表中的乙個字段宣告為 integer primary key,那麼只需向該錶...
SQLITE資料表主鍵設定Id自增方法
建立資料 設定主鍵自增 建立資料庫時,啟用主鍵自增加特性 create table testtable id integer primary key autoincrement,注意事項 設定主鍵自增時 autoincrement 主鍵型別必須是integer,不能使用int,否則會報錯。插入資料後...