SQLITE数据表主键设置Id自增方法
来源:互联网 发布:linux登陆时间 编辑:程序博客网 时间:2024/05/19 08:36
搞定了一个困扰许久的问题,原来sqlite中的主键也是可以设置为自增的:)方法就是声明为 INTEGER PRIMARY KEY 的字段可以自动增加。
网上查到资料说,从 SQLite 的 2.3.4 版本开始,如果将一个表中的一个字段声明为 INTEGER PRIMARY KEY,那么只需向该表的该字段插入一个 NULL 值,这个 NULL 值将自动被更换为比表中该字段所有行的最大值大 1 的整数;如果表为空,那么将被更换为 1。
CREATE TABLE "ProcessList"(
[Id] integer(4) PRIMARY KEY
,[Type] varchar(20)
,[Name] varchar(30)
,[IsUse] int
)
执行
insert into processlist
values
(null,'a','b',1)
在逻辑意义上等价于:
insert into processlist VALUES((SELECT max(Id) FROM processlist)+1, 'a','b',1);
insert into processlist
values
(null,'aa','bb',1)
执行两条插入语句后再查询表中数据:
select * from processlist
结果如下:
Id Type Name IsUse
1 a b 1
2 aa bb 1
一个新的API函数 sqlite3_last_insert_rowid() 返回最近的插入操作的整形键.注意这个整型键始终比之前插入表中的最后一个键大1。新键相对于表中的已有键来说是唯一的, 但它可能与之前从表中删除的键值重叠。要始终得到在整个表中唯一的键,在INTEGER PRIMARY KEY的声明之前加关键词AUTOINCREMENT.这样被选的键将总是比表中已存在的最大键大1。若可能的最大键已存在于表中,INSERT操作将失败并返回一个SQLITE_FULL错误码.
- SQLITE数据表主键设置Id自增方法
- SQLITE数据表主键设置Id自增方法
- SQLITE数据表主键设置Id自增方法
- SQLITE数据表主键设置Id自增方法
- SQLITE数据表主键设置Id自增方法
- SQLITE数据表主键设置Id自增方法
- sqlite 中主键id自增的方法
- oracle中设置自增主键(id)
- sqlite 自增主键
- SQLite主键自增
- DB2主键自增长设置(id自增)
- Sqlserver数据库表重设置自增主键ID号
- oracle怎么实现id自增和设置主键
- oracle怎么实现id自增和设置主键
- oracle怎么实现id自增和设置主键
- oracle怎么实现id自增和设置主键
- oracle实现id自增和设置主键
- mybatis主键自增返回id值的方法
- 位域
- uva 10160(回溯)
- OC 总结
- hadoop+hbase全分布式环境配置
- Android:国家气象局提供的天气预报接口及使用说明
- SQLITE数据表主键设置Id自增方法
- 黑马程序员14——异常、IO流1
- little spider for scala
- 对libevent+多线程服务器模型的C++封装类
- osg::AnimationPath osg::AnimationPath::ControlPoint osg::AnimationPathCallback
- 嵌入式系统启动例程
- Abstract抽象类测试
- 2014届华为校招软件类机试题(机试时间:2013年9月)
- 黑马程序员15——IO流2