婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

熱門標簽:無錫梁溪公司怎樣申請400電話 電話機器人錄音師薪資 智能電銷機器人教育 北京智能外呼系統供應商家 孝感銷售電銷機器人廠家 高德地圖標注電話怎么沒了 江西穩定外呼系統供應商 中國地圖標注省份用什么符號 奧維地圖標注字體大小修改

一、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優化方法
  • android創建數據庫(SQLite)保存圖片示例
  • SQLite3中的日期時間函數使用小結
  • C#操作SQLite方法實例詳解
  • SQLite 性能優化實例分享

標簽:那曲 通化 荊州 泰州 海北 阜陽 臨滄 齊齊哈爾

巨人網絡通訊聲明:本文標題《SQLite3中自增主鍵相關知識總結》,本文關鍵詞  SQLite3,中自,增主,鍵,相關,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQLite3中自增主鍵相關知識總結》相關的同類信息!
  • 本頁收集關于SQLite3中自增主鍵相關知識總結的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    免费在线观看成人| 欧美在线你懂得| 久久久久9999亚洲精品| 国产精品中文字幕一区二区三区| 亚洲欧美色综合| 久久久精品一品道一区| 日韩午夜小视频| 91精品国产综合久久精品麻豆| 精品久久久网站| 粉嫩欧美一区二区三区高清影视| 日韩午夜电影av| 午夜欧美一区二区三区在线播放 | 91精品国产全国免费观看| 一区二区三区视频在线观看| 久久久精品免费网站| 成人av网在线| 国产资源在线一区| 亚洲午夜精品久久久久久久久| 国产精品久久久久久妇女6080 | 国产调教视频一区| 欧美一级高清片| 91精品久久久久久蜜臀| 欧美欧美午夜aⅴ在线观看| 国内不卡的二区三区中文字幕 | 亚洲成人777| 国产精品亚洲人在线观看| 国产成人综合在线播放| 91精品国产综合久久精品app | 开心九九激情九九欧美日韩精美视频电影 | 欧美性猛交一区二区三区精品| 国产美女av一区二区三区| ...中文天堂在线一区| 国产伦精一区二区三区| 欧美亚洲一区二区在线观看| 亚洲成人av资源| 欧美日本不卡视频| 一区在线播放视频| 色婷婷精品大在线视频| 欧美男同性恋视频网站| 日韩一区在线播放| 日本精品视频一区二区| 午夜精品久久久久久久| 精品处破学生在线二十三| 成人v精品蜜桃久久一区| 欧美aa在线视频| 亚洲电影中文字幕在线观看| 久久久久久99久久久精品网站| 成av人片一区二区| 亚洲精品在线三区| 在线一区二区观看| 欧美视频一二三区| 日本电影亚洲天堂一区| 91美女片黄在线观看| 国产东北露脸精品视频| 国产精品系列在线播放| 粉嫩久久99精品久久久久久夜| 国产精品丝袜91| 精品成人一区二区| 日韩三级精品电影久久久| 欧美系列一区二区| 7777精品伊人久久久大香线蕉| 欧美日韩国产一区二区三区地区| 亚洲欧美日韩一区| 99免费精品视频| 一区二区三区中文在线| 精品国产亚洲在线| 在线视频观看一区| 国产一区啦啦啦在线观看| 人妖欧美一区二区| 日韩一区二区三区在线视频| 欧美日韩小视频| 99热在这里有精品免费| 黄色日韩网站视频| 国产精品一卡二卡在线观看| 亚洲123区在线观看| 精品国产乱码久久久久久闺蜜| 97久久精品人人做人人爽| 九九视频精品免费| 国产激情视频一区二区在线观看| 一区二区三区在线看| www精品美女久久久tv| 欧美日韩一区二区三区四区五区| 欧美群妇大交群的观看方式| 91精品国产欧美一区二区18| 91免费观看国产| 精品一区二区三区在线播放视频| 亚洲电影一区二区三区| 欧美激情综合在线| 综合激情成人伊人| 日本一区二区综合亚洲| 樱花草国产18久久久久| 日本成人在线不卡视频| 国产亚洲污的网站| 国产欧美1区2区3区| 欧美成人高清电影在线| 久久婷婷成人综合色| 亚洲综合丝袜美腿| 国产在线不卡一卡二卡三卡四卡| 国产电影一区二区三区| 国产日韩av一区| 精品系列免费在线观看| 日韩一区二区三区免费观看| 韩国v欧美v日本v亚洲v| 国产精品欧美久久久久无广告| 不卡区在线中文字幕| 欧美xxxxxxxx| 99国产精品久久| 国产精品综合二区| 日精品一区二区| 中文字幕亚洲成人| 老司机免费视频一区二区| 99视频在线精品| 亚洲另类色综合网站| 色噜噜夜夜夜综合网| 亚洲丝袜另类动漫二区| 一本大道av一区二区在线播放| 亚洲精品视频在线观看免费 | 日韩一级免费观看| 成人h动漫精品一区二区| 午夜精品久久久久久久久| 久久久国产一区二区三区四区小说| 国产拍揄自揄精品视频麻豆| 成人久久视频在线观看| 午夜亚洲国产au精品一区二区| 欧美大肚乱孕交hd孕妇| 成人国产视频在线观看| 一区视频在线播放| 欧美一区午夜精品| 五月婷婷综合网| 欧美日韩一区不卡| 91原创在线视频| 精品一区二区三区av| 国产美女主播视频一区| 亚洲一区在线免费观看| 久久亚洲精品国产精品紫薇| 色素色在线综合| 久久精品国产一区二区三| 亚洲一级片在线观看| 久久综合久久鬼色| 日本精品视频一区二区三区| 亚洲欧洲成人自拍| www国产精品av| 久久影院视频免费| 高清国产一区二区三区| 精品一区二区三区免费播放 | 国产精品一线二线三线| 亚洲一区二区欧美| 欧美国产日韩一二三区| 午夜精品福利一区二区三区av| 欧美不卡一区二区三区| 91免费视频网| 91麻豆蜜桃一区二区三区| 在线观看av一区| 日韩一区二区视频| 精品久久久久久最新网址| 国产精品视频一二三区| 亚洲免费观看高清在线观看| 日韩1区2区日韩1区2区| 粉嫩av一区二区三区粉嫩| 色综合久久天天综合网| 欧美人妇做爰xxxⅹ性高电影| 色偷偷久久人人79超碰人人澡| 日韩精品在线看片z| 国产精品国产三级国产a| 午夜免费欧美电影| 色又黄又爽网站www久久| 久久综合九色综合欧美亚洲| 免费日本视频一区| 亚洲欧美日韩一区二区三区在线观看| 亚洲成人免费av| 欧美综合视频在线观看| 久久久三级国产网站| 亚洲成人中文在线| 欧美日韩视频第一区| 亚洲电影在线播放| 911精品产国品一二三产区| 日本不卡一二三| 久久久国产精品午夜一区ai换脸| 91同城在线观看| 麻豆91精品视频| 国产偷国产偷亚洲高清人白洁| 亚洲亚洲精品在线观看| 91亚洲精品一区二区乱码| 国产精品成人一区二区艾草| 国产精品羞羞答答xxdd| 3751色影院一区二区三区| 日韩影视精彩在线| 欧美久久久久久蜜桃| 一区二区激情视频| 色综合中文综合网| 国产成人午夜视频| 久久久亚洲高清| 色www精品视频在线观看| 亚洲一区在线免费观看| 欧美v日韩v国产v| 不卡视频免费播放| 久久精品国产亚洲a| 亚洲毛片av在线| 国产欧美日韩综合| 精品不卡在线视频|