成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:848日期: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
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲一区二区网站| 亚洲免费在线看| aaa欧美色吧激情视频| 久久综合狠狠综合久久激情| 99re国产精品| 蜜臀av一区二区在线观看 | 国产女人18水真多18精品一级做| 亚洲午夜激情av| 欧美性受xxxx| 亚洲激情偷拍| 97久久精品人人做人人爽50路| 欧美喷潮久久久xxxxx| 午夜视频一区在线观看| 国内精品在线播放| 欧美在线看片a免费观看| 久久狠狠亚洲综合| 69av一区二区三区| 国产成人精品三级麻豆| 在线电影一区二区三区| 国产夫妻精品视频| 欧美视频一区在线| 亚洲一区二区三区午夜| 国产精品v日韩精品v欧美精品网站| 日韩欧美一级精品久久| 精品91视频| 欧美成人久久| 不卡一区二区在线| 国产成人精品一区二区三区四区 | 在线观看91视频| 国产精品hd| 国产精品 欧美精品| 亚洲bdsm女犯bdsm网站| 亚洲婷婷综合色高清在线| 久久久久久久国产精品影院| 制服丝袜成人动漫| 欧美三级韩国三级日本三斤| 色综合久久99| 色偷偷成人一区二区三区91| 9色精品在线| 国产欧美综合一区二区三区| 日韩视频久久| 精品动漫3d一区二区三区免费版| 亚洲日本乱码在线观看| 久久综合色婷婷| 欧美一卡在线观看| 欧美电视剧在线看免费| 精品日韩一区二区| 国产欧美一区二区精品性色超碰| 亚洲欧美日本视频在线观看| 99re6热在线精品视频播放速度| 久久精品理论片| 麻豆专区一区二区三区四区五区| 欧美大尺度电影在线| 日韩一区和二区| 久久色.com| 国产亚洲一二三区| 成人欧美一区二区三区视频网页| 在线看日本不卡| 欧美揉bbbbb揉bbbbb| 日韩久久免费av| 欧美v国产在线一区二区三区| 国产主播一区| 欧美日韩在线高清| 99精品视频免费| 在线免费观看视频一区| 欧美视频一二三区| 制服丝袜在线91| 久久精品一区二区三区不卡| 中文字幕亚洲视频| 日韩主播视频在线| 风间由美一区二区三区在线观看| 日韩精品国产欧美| 精品一区二区三区av| 97精品电影院| 另类亚洲自拍| 日韩精品一区二区三区老鸭窝| 亚洲综合日本| 在线播放/欧美激情| 久久久精品蜜桃| 国产剧情一区二区| 日韩午夜在线影院| 亚洲视频狠狠| 美美哒免费高清在线观看视频一区二区 | 狼狼综合久久久久综合网| 日本美女一区二区三区视频| 精品美女在线播放| 免费视频一区| 亚洲黄色在线视频| 国产成人无遮挡在线视频| 日韩精品资源二区在线| 国产精品成人一区二区网站软件| 久久你懂得1024| 国产精品一区免费观看| 欧美激情四色| 一本高清dvd不卡在线观看| 日韩欧美亚洲国产另类| 亚洲图片欧美一区| 欧美成人蜜桃| 91精品综合久久久久久| 亚洲制服丝袜一区| 午夜国产一区| 国产精品一二三| 欧美精品一区二区在线播放| 久久天堂成人| 成人免费va视频| 香蕉乱码成人久久天堂爱免费| 色嗨嗨av一区二区三区| 色综合久久综合中文综合网| 欧美a一区二区| 亚洲日本一区二区三区| 欧美va亚洲va香蕉在线| 色综合久久精品| 国内视频精品| 丁香另类激情小说| 日韩精品电影在线观看| 自拍偷在线精品自拍偷无码专区| 久久久久久99久久久精品网站| 欧美日韩国产色站一区二区三区| 3atv一区二区三区| 亚洲国产精品久久久久秋霞影院| 日韩专区在线视频| 一区二区久久| 日韩一区中文字幕| 欧美日韩hd| 国产中文一区| 婷婷开心久久网| 最近中文字幕一区二区三区| 日韩一区二区免费高清| 性一交一乱一区二区洋洋av| 欧美69视频| 国产1区2区3区精品美女| 蜜臀国产一区二区三区在线播放| 欧美一区二区精美| 欧美.www| 久久午夜国产精品| 成人久久久精品乱码一区二区三区| av成人老司机| 精品国产伦一区二区三区观看方式| 欧美成人a在线| 91久久视频| 91麻豆福利精品推荐| 精品一区二区三区久久| 日韩影视精彩在线| 久久伊人中文字幕| 91蜜桃在线观看| 国产欧美日韩精品一区| 国产精品二区三区四区| 136国产福利精品导航| 亚洲黄色毛片| 香蕉成人伊视频在线观看| 久久久久久久久久久一区 | 日本一区二区高清| 国产一区二区免费看| 欧美精品久久99| 欧美亚洲免费在线| 成人丝袜高跟foot| 国产成人午夜电影网| 九九久久精品视频| 日韩综合小视频| 五月综合激情网| 亚洲午夜私人影院| 一区二区三区在线视频观看| 亚洲欧洲精品天堂一级| 国产精品久久国产精麻豆99网站| 欧美影院一区二区三区| 欧美亚洲三区| 久久国产一区二区| 精品成人在线观看| 一区二区三区毛片| 欧美日韩在线综合| yourporn久久国产精品| 亚洲精品日日夜夜| 欧美老肥妇做.爰bbww视频| aaa亚洲精品| 国内成人在线| 黄色成人在线网站| 国产精品情趣视频| 成人欧美一区二区三区白人| 欧美日韩小视频| 色婷婷久久久亚洲一区二区三区| 2014亚洲片线观看视频免费| 一区三区视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产日韩欧美电影| 色爱区综合激月婷婷| 成人一级片在线观看| 亚洲欧美国产77777| 欧美色倩网站大全免费| 狠狠入ady亚洲精品经典电影| www国产成人免费观看视频 深夜成人网| 悠悠色在线精品| 老司机精品久久| 亚洲成人精品影院| 国产欧美日韩视频在线观看| 欧美激情自拍偷拍| 中文字幕人成不卡一区| 亚洲精品va在线观看| 五月激情综合网| 国产在线视频一区二区| 成人国产一区二区三区精品|