溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

SQLite中Autoincrement關(guān)鍵字如何使用

發(fā)布時(shí)間:2021-07-23 16:00:53 來(lái)源:億速云 閱讀:167 作者:Leah 欄目:數(shù)據(jù)庫(kù)

這篇文章給大家介紹SQLite中Autoincrement關(guān)鍵字如何使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

SQLite 的 AUTOINCREMENT 是一個(gè)關(guān)鍵字,用于表中的字段值自動(dòng)遞增。我們可以在創(chuàng)建表時(shí)在特定的列名稱(chēng)上使用 AUTOINCREMENT 關(guān)鍵字實(shí)現(xiàn)該字段值的自動(dòng)增加。

注意點(diǎn):整型字段可以使用關(guān)鍵字AUTOINCREMENT。

語(yǔ)法

AUTOINCREMENT關(guān)鍵字的基本用法如下:

CREATE TABLE table_name(  column1 INTEGER AUTOINCREMENT,  column2 datatype,  column3 datatype,  .....  columnN datatype,);

例子:

考慮COMPANY表要?jiǎng)?chuàng)建如下:

sqlite> CREATE TABLE COMPANY(  ID INTEGER PRIMARY KEY  AUTOINCREMENT,  NAME      TEXT   NOT NULL,  AGE      INT    NOT NULL,  ADDRESS    CHAR(50),  SALARY     REAL);

現(xiàn)在,以下記錄插入到表 COMPANY:

INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)VALUES ( 'Paul', 32, 'California', 20000.00 );INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)VALUES ('Allen', 25, 'Texas', 15000.00 );INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)VALUES ('Teddy', 23, 'Norway', 20000.00 );INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)VALUES ( 'Mark', 25, 'Rich-Mond ', 65000.00 );INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)VALUES ( 'David', 27, 'Texas', 85000.00 );INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)VALUES ( 'Kim', 22, 'South-Hall', 45000.00 );INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)VALUES ( 'James', 24, 'Houston', 10000.00 );

這將插入到表COMPANY 7個(gè)元組,COMPANY將有以下記錄:

ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.02 Allen 25 Texas 15000.03 Teddy 23 Norway 20000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0

個(gè)人理解:

1.數(shù)據(jù)庫(kù)插入字段:

AUTOINCREMENT(自增加字段)不能重復(fù)使用刪除的字段的id值,保證了id必須唯一;rowid是找已存在的最大rowid+1,有可能rowid+1(當(dāng)前的rowid)之前被刪除過(guò);

2.數(shù)據(jù)庫(kù)rowid到達(dá)最大之后:

AUTOINCREMENT(自增加字段)會(huì)返回SQLITE_FULL錯(cuò)誤碼;rowid新值會(huì)在這個(gè)最大數(shù)之前隨機(jī)找一個(gè)沒(méi)被使用字段的id值,可能是之前被刪除過(guò)的字段;

關(guān)于SQLite中Autoincrement關(guān)鍵字如何使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI