日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SQLite3中自增主鍵相關知識總結

瀏覽:923日期:2023-04-05 14:56:07

一、SQLite清空表并將自增列歸零

SQL標準中有TRUNCATE TABLE語句,用來清空表的所有內容。
但SQLite不支持這個語句。在SQLite中直接使用 DELETE FROM TableName 就可以了。
對于大多數DBMS來說,用DELETE不如用TRUNCATE 速度快,因為TRUNCATE 不用訪問整個表,不用記錄數據的變動。

SQLite雖然不支持TRUNCATE,但它對DELETE做了優化:
通常在清空表的時候,還需要把自增列歸零。在SQLite中定義自增列的方法如下:
復制代碼 代碼如下:CREATE TABLE TableName ( id INTEGER PRIMARY KEY AUTOINCREMENT, name varchar, type Integer );

當SQLite數據庫中包含自增列時,會自動建立一個名為 sqlite_sequence 的表。
這個表包含兩個列:name和seq。name記錄自增列所在的表,seq記錄當前序號(下一條記錄的編號就是當前序號加1)。
如果想把某個自增列的序號歸零,只需要修改 sqlite_sequence表就可以了。
復制代碼 代碼如下:UPDATE sqlite_sequence SET seq = 0 WHERE name="TableName";

也可以直接把該記錄刪掉:      
復制代碼 代碼如下:DELETE FROM sqlite_sequence WHERE name="TableName";
要想將所有表的自增列都歸零,直接清空sqlite_sequence表就可以了:
復制代碼 代碼如下:DELETE FROM sqlite_sequence;

二、Sqlite中INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用

在用sqlite設計表時,突然想到一個問題,就是我設計的表中,每個表都有一個自己的整形id值作為主鍵,
其實可以不指定這么一個id值,sqlite內部本來就會為每個表加上一個 rowid,這個rowid可以當成一個隱含的字段使用,

為什么不直接使用這個內部的rowid作為每個表的id主鍵呢。
使用自增長字段為主鍵有不少問題,比如維護或是在大型分布應用中主鍵沖突的解決等。
在一些大型分布應用中主鍵一般選用guid,這可以有效的避免主鍵沖突,減少對主鍵維護的工程。
當然,對于中小型的應用,自增長字段的好處更多一些,簡單、快速。

Sqlite中,一個自增長字段定義為 INTEGER PRIMARY KEY AUTOINCREMENT
那么在插入一個新數據時,只需要將這個字段的值指定為NULL,即可由引擎自動設定其值,
引擎會設定為最大的rowid+1 當然,也可以設置為非NULL的數字來自己指定這個值,但這樣就必須自己小心,不要引起沖突。

rowid的新值會這個最大數之前隨機找一個沒被使用了的值。所以在rowid達到最大值前,rowid的值是嚴格單調增加的。
INTEGER PRIMARY KEY AUTOINCREMENT 自增長字段的算法與rowid稍微有些不同。
第一,在達到最大值后,rowid會找已被刪除的字段對應的rowid作為新值,而自增長字段則會丟出一個SQLITE_FULL的錯誤。
第二,自增長字段在增加新值時,是找一個從沒被使用過的rowid作為新值,而rowid則是找最大已存在的rowid+1。

這里對應用的影響會比較大,尤其是一些對id值有依賴的元記錄,只適合使用自增長字段而不能用rowid。
比如,我們設計一個元記錄表:
復制代碼 代碼如下:Create table meta_struct(id INTEGER PRIMARY KEY AUTOINCREMENT, name varchar, type Integer);
然后,定義一個一級表,來描述其它表的結構:
復制代碼 代碼如下:Create table meta_table(tableid INTEGER, table_field integer)

最后,我們的應用可以根據這個一級表來產生實際使用的二級表。
這樣為保證兼容性meta_struct中的id必須是唯一的,如果有字段被刪除,也不能重復使用這個字段的id值,不然,在數據庫合并時,
一級表和二級表就會混亂。所以meta_struct表中的主鍵只能使用自增長字段,而不能用rowid。

第三,使用自增長字段,引擎會自動產生一個sqlite_sequence表,用于記錄每個表的自增長字段的已使用的最大值,用戶可以看到,
并可以用使用Update、Delete和Insert操作,但不建議這么使用,這會讓引擎混亂。如果使用rowid,也會有這么一個內部表,用戶可以維護rowid值,但看不到。

標簽: SQLite
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品一区二区在线看| 一区二区不卡| 国产精品日本一区二区三区在线 | 女主播福利一区| 久久久久国产精品一区三寸 | 亚洲精品综合| 亚洲毛片在线免费| 日本综合精品一区| 国产日韩三级| 国产成人精品一区二区免费看京| 国产一区二区三区黄网站| 成人在线免费观看网站| 国产精品久久观看| 国产精品99一区二区三区| 欧美激情另类| 91精品啪在线观看国产18| 99精品在线观看| 国产婷婷精品| 日韩国产在线一| 欧美黄色精品| 欧美成人a交片免费看| 久久亚洲国产| 蜜桃久久av| 欧美日韩99| 97在线精品| 亚洲一区亚洲| 欧美精品观看| а√天堂中文在线资源8| 久久婷婷久久| 亚洲日本三级| 嫩草伊人久久精品少妇av杨幂| 黑森林国产精品av| 老鸭窝一区二区久久精品| 久久久一本精品| 水野朝阳av一区二区三区| 日韩av黄色在线| 国产不卡人人| 国产视频一区免费看| 国产亚洲精aa在线看| 不卡专区在线| 日av在线不卡| 精品一区二区三区中文字幕视频| 中文字幕系列一区| 日韩亚洲在线| 国产精品成人国产| 99视频精品全国免费| 亚洲无线观看| 久久久久久婷| 亚洲日产av中文字幕| 成人在线观看免费视频| 免费日韩av片| 国产成人久久精品一区二区三区| 亚洲欧美日本视频在线观看| 国产高清亚洲| 亚洲精品网址| 久久99高清| 亚洲免费影视| 激情视频网站在线播放色| 91精品久久久久久久久久不卡| 日本成人中文字幕| 久久久久国产精品一区三寸| 人人爱人人干婷婷丁香亚洲| 91精品一区国产高清在线gif| 日本不卡在线视频| 伊人精品一区| 国产精品天天看天天狠| 成人va天堂| 久久狠狠久久| 99视频精品免费观看| 老司机精品视频网| 日本大胆欧美人术艺术动态| 色在线中文字幕| 久久国产欧美日韩精品| 在线日韩欧美| 精品视频一区二区三区在线观看| 免费精品视频最新在线| 日韩欧美午夜| 国产精品调教| 一区二区亚洲视频| 亚洲二区免费| 老鸭窝一区二区久久精品| 亚洲欧洲专区| 在线精品视频在线观看高清| 国产一区二区久久久久| 欧美日一区二区三区在线观看国产免| 欧美1区2区3区| 国产精品蜜芽在线观看| 日本一区二区中文字幕| www成人在线视频| 精品国产网站| 国产日韩高清一区二区三区在线| 日韩av二区在线播放| 亚洲综合不卡| 激情婷婷欧美| 日韩欧美综合| 精品一区视频| 国产精品巨作av| 91成人福利| 亚洲乱码久久| 亚洲欧美激情诱惑| 亚洲激情av| 国产综合色产| 久久精品99久久无色码中文字幕| 麻豆精品视频在线| 欧美在线精品一区| 日韩中文av| 亚洲日韩视频| 四虎在线精品| 色8久久久久| 亚洲毛片一区| 中文字幕av一区二区三区四区| aa国产精品| 日韩午夜黄色| 午夜在线精品| 免播放器亚洲| 在线免费观看亚洲| 亚洲午夜久久| 日韩av一级片| 午夜精品影视国产一区在线麻豆| 在线一区二区三区视频| 综合激情网站| 日韩专区视频网站| 日韩动漫一区| 青青青国产精品| 国产日产精品一区二区三区四区的观看方式| 青青草国产精品亚洲专区无| 一区二区亚洲视频| 天堂久久一区| 久久国产乱子精品免费女| 国产免费av一区二区三区| 国产日产精品_国产精品毛片 | 亚洲伊人精品酒店| 久久国产精品毛片| 中文一区二区| 日韩中文字幕一区二区三区| 男女性色大片免费观看一区二区| 六月婷婷一区| 亚洲日产av中文字幕| 性一交一乱一区二区洋洋av| 亚洲精品九九| 日韩国产欧美视频| 国产免费av国片精品草莓男男| 欧美国产日韩电影| 欧美成a人片免费观看久久五月天| 久久免费视频66| 国产精品久久观看| 欧美福利一区| 一区二区高清| 久久不卡国产精品一区二区| 成人在线视频免费| 欧美一区二区三区高清视频| 美女日韩在线中文字幕| 日韩精品视频网| 欧美日韩在线精品一区二区三区激情综合| 国产美女精品视频免费播放软件| 久久精品国产网站| 91精品国产调教在线观看| 在线亚洲观看| 欧美日韩夜夜| 蜜臀国产一区| 夜久久久久久| 欧美一级网站| 日韩免费一区| 视频一区视频二区中文| 欧美一级一区| 午夜精品久久久久久久久久蜜桃| 亚洲欧美日韩高清在线| 日本亚州欧洲精品不卡| 国产免费播放一区二区| 免费福利视频一区二区三区| 久久亚洲在线| 日韩一区二区三区四区五区| 老牛国内精品亚洲成av人片| 国产在线|日韩| 综合亚洲色图| 在线天堂中文资源最新版| 欧美特黄a级高清免费大片a级| 天堂va欧美ⅴa亚洲va一国产| 国产成人精选| 美日韩精品视频| 精品久久一区| 亚洲资源av| 国产精品成久久久久| 99久久久久| 欧美中文高清| 99久久婷婷| 欧美一区自拍| 亚洲成人精品| 国产日韩一区二区三区在线播放| 欧洲av一区二区| 在线国产精品一区| 日韩av免费大片| 亚洲综合福利| 日韩国产专区| 亚洲欧洲免费| 中文另类视频| 国产精品亚洲综合久久| 国产精选久久| 成人欧美一区二区三区的电影| 一区二区国产精品|