加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3怎么建立自动增长字段

发布时间:2020-12-12 20:12:44 所属栏目:百科 来源:网络整理
导读:转自:http://www.jb51.cc/article/p-crunfsrz-sr.html (1)如何建立自动增长字段? 简短回答:声明为INTEGERPRIMARYKEY的列将会自动增长。长一点的答案:如果你声明表的一列为INTEGERPRIMARYKEY,那么,每当你在该列上插入一NULL值时,NULL自动被转换为一个比

转自:http://www.52php.cn/article/p-crunfsrz-sr.html

(1)如何建立自动增长字段?简短回答:声明为INTEGERPRIMARYKEY的列将会自动增长。长一点的答案:如果你声明表的一列为INTEGERPRIMARYKEY,那么,每当你在该列上插入一NULL值时,NULL自动被转换为一个比该列中最大值大1的一个整数,如果表是空的,将会是1。(如果是最大可能的主键9223372036854775807,那个,将键值将是随机未使用的数。)如,有下列表:CREATETABLEt1(aINTEGERPRIMARYKEY,bINTEGER);在该表上,下列语句INSERTINTOt1VALUES(NULL,123);在逻辑上等价于:INSERTINTOt1VALUES((SELECTmax(a)FROMt1)+1,123);有一个新的API叫做sqlite3_last_insert_rowid(),它将返回最近插入的整数值。注意该整数会比表中该列上的插入之前的最大值大1。该键值在当前的表中是唯一的。但有可能与已从表中删除的值重叠。要想建立在整个表的生命周期中唯一的键值,需要在INTEGERPRIMARYKEY上增加AUTOINCREMENT声明。那么,新的键值将会比该表中曾能存在过的最大值大1。如果最大可能的整数值在数据表中曾经存在过,INSERT将会失败,并返回SQLITE_FULL错误代码。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读