我現在有一個表稱爲用戶,其具有創建一個ID列的Android SQLite的自動遞增
「INTEGER PRIMARY KEY」
可以說,我已經創建了兩個用戶,讓該表有ID爲1, 2
如果我刪除第二個用戶,並創建第三id爲2,我需要這是3
如此看來Android是選擇下一個可用的ID,我怎樣才能改變這種它更像序列號?
Regards
我現在有一個表稱爲用戶,其具有創建一個ID列的Android SQLite的自動遞增
「INTEGER PRIMARY KEY」
可以說,我已經創建了兩個用戶,讓該表有ID爲1, 2
如果我刪除第二個用戶,並創建第三id爲2,我需要這是3
如此看來Android是選擇下一個可用的ID,我怎樣才能改變這種它更像序列號?
Regards
使之成爲INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
。下面是the docs說:
如果列類型的INTEGER PRIMARY KEY AUTOINCREMENT然後...的ROWID選擇 新行相比,具有 中曾經存在之前最大的ROWID較大的至少一個同一張桌子。
由AUTOINCREMENT關鍵字實現的行爲與默認行爲不同,其實微妙地爲 。使用AUTOINCREMENT時,自動選擇ROWID的行將保證具有 之前從未在同一個數據庫中使用過的ROWID。並且自動生成的ROWID保證單調增加 。
我想'AUTOINCREMENT'沒有'PRIMARY KEY'。因爲我分配的主鍵是另一列,我正在使用'_ID INTEGER AUTOINCREMENT NOT NULL',這使得error.Please幫助我兄弟。 – reegan29
@ reegan29 AUTOINCREMENT只能與INTEGER PRIMARY KEY一起使用。按*因爲AUTOINCREMENT關鍵字會更改ROWID選擇算法的行爲,所以在WITHOUT ROWID表或除INTEGER PRIMARY KEY之外的任何表列上不允許使用AUTOINCREMENT。任何在WITHOUT ROWID表或除INTEGER PRIMARY KEY列之外的列上使用AUTOINCREMENT的嘗試都會導致錯誤。* [SQLite Autoincrement](https://sqlite.org/autoinc.html) – MikeT
SQLite AUTOINCREMENT
是一個關鍵字,用於自動遞增表中字段的值。在創建具有特定列名稱的表格時,我們可以使用AUTOINCREMENT
關鍵字自動遞增字段值以自動遞增。
關鍵字AUTOINCREMENT
只能與INTEGER字段一起使用。 語法:
AUTOINCREMENT
關鍵字的基本用法如下:
CREATE TABLE table_name(
column1 INTEGER AUTOINCREMENT,
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
對於實施例見下文: 考慮COMPANY
表被創建如下:
sqlite> CREATE TABLE TB_COMPANY_INFO(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
現在,插入以下記錄到表TB_COMPANY_INFO
:
INSERT INTO TB_COMPANY_INFO (NAME,AGE,ADDRESS,SALARY)
VALUES ('MANOJ KUMAR', 40, 'Meerut,UP,INDIA', 200000.00);
現在選擇錄製
SELECT *FROM TB_COMPANY_INFO
ID NAME AGE ADDRESS SALARY
1 Manoj Kumar 40 Meerut,UP,INDIA 200000.00
thanks ... I需要「INTEGER PRIMARY KEY AUTOINCREMENT」自動增量字段..並得到它。 –
拍攝,我有'AUTOINCREMENT'在錯誤的地方。感謝這個例子! – booky99
但你需要主鍵,這是工作fine.why u需要呢? –