微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlite 如何建立自动增长字段

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

原文地址:https://www.jb51.cc/sqlite/202784.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐