sqlite插入时间字段_sqlite 获取最后插入id
(点击上方公众号,可快速关注)
SQLite数据库中的表均有一个特殊的rowid字段,它是一个不重复的64位有符号整数,默认起始值为1。rowid别名为oid或_rowid_,但在创建表的SQL声明语句中只能使用rowid作为关键字。如果在创建表的时候设置了类型为integer的具有自动增长性的主键,那么这时的主键相当于是rowid的别名。
rowid只能是单调递增的,它由SQLite内部维护,不能自己指定。对于失败的插入操作,rowid也可能在原来的基础上执行了自增。删除或回滚操作并不会减小rowid的值。当rowid达到所能表示的最大值时,这时如果有新纪录要插入,系统就会从之前没有被使用过的(或从已经被删除的记录的)rowid中随机取出一个作为rowid。若没有可用的rowid,系统就会抛出SQLITE_FULL的错误。
rowid字段在表中默认是隐藏的,也就是说,除非SQL查询语句中指定返回rowid,否则查询结果不会包含有rowid字段。
可以在创建表时使用WITHOUT ROWID以声明不生成rowid字段,例如:
CREATE TABLE IF NOT EXISTS wordcount(
word TEXT PRIMARY KEY,
cnt INTEGER
) WITHOUT ROWID;
将关键字AUTOINCREMENT使用在声明为WITHOUT ROWID的表不但不起作用,还将引发一个错误。
SQLiteAPI 函数sqlite3_last_insert_rowid()可以取得最后一条插入的记录的rowid。但sqlite3_last_insert_rowid()是基于当前进程的。也就是说,sqlite3_last_insert_rowid()取到的是当前进程最后一次插入记录的rowid。对于不是当前进程插入的记录,sqlite3_last_insert_rowi()均返回0。sqlite3_last_insert_rowi()对应的SQL声明为last_insert_rowid(),例如:select last_insert_rowid() from exam_tbl
看完本文有收获?请转发分享更多人
因为分享是一种美德
sqlite插入时间字段_sqlite 获取最后插入id相关推荐
- 向mysql中插入时间_Java向mysql中插入时间的方法
ava向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 java向MySQL插入当前时间的四种方式 第一种:将java.util.Date类型的时 ...
- mysql插入时间字段为空值_php – 如何在mysql日期类型字段中插入一个空值?
如何在 mysql日期类型字段(NULL = yes)中插入NULL或空值. 如果我尝试插入一个空值,它会插入0000-00-00,但是我想保持为空或为空. 感谢帮助. UPDATE 请看我已经将默认 ...
- mysql数据库怎么插入时间_给mysql数据库插入当前时间
mysql相关的三个函数有: NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中. CURDATE()以'YYYY-MM-DD'的格式返 ...
- Mysql设置创建时间字段和更新时间字段自动获取时间,填充时间
1.引言 在实际开发中,每条数据的创建时间和修改时间,尽量不需要应用程序去记录,而由数据库获取当前时间自动记录创建时间,获取当前时间自动记录修改时间. 2.创建语句 (1)–添加CreateTime ...
- php mssql 新 id,MSSQL获取当前插入数据的id
例如我们新建了一张表T_User,字段如下u_id,主键,为标示符,user_name...... 然后我们来执行一个新增插入操作: insert into T_User(user_name,user ...
- Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹配
这个错误一般出现在时间字段上,即插入的时间格式和数据库现有的时间格式不一致,如:直接使用to_date('2007-12-28 10:07:24'),没有指定日期格式,会报错 . 解决的方法是格式化插 ...
- shell脚本获取mysql插入数据自增长id的值
shell脚本获取mysql插入数据自增长id的值 在shell脚本中我们可以通过last_insert_id()获取id值,但是,需要注意的是,该函数必须在执行插入操作的sql语句之后,立即调用,否 ...
- LeetCode 381. O(1) 时间插入、删除和获取随机元素 - 允许重复(vector + 哈希)
文章目录 1. 题目 2. 解题 1. 题目 设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构. 注意: 允许出现重复元素. insert(val):向集合中插入元素 val. ...
- 常数时间插入、删除和获取随机元素
常数时间插入.删除和获取随机元素 设计一个支持在平均时间复杂度O(1)下,执行以下操作的数据结构. insert(val): 当元素val不存在时,向集合中插入该项. remove(val): 元素v ...
最新文章
- python安装gdal包_python安装gdal的两种方法
- 【转】一台台式机电脑 是集成显卡,我现在想搞两个显示器,一台显示器看监控,一台显示器自己...
- ARM 嵌入式入门经验
- 2021-04-21--中标麒麟--yum源修改
- 开始→运行→输入的命令集锦 1
- DCMTK:演示状态查看器-网络接收组件(存储SCP)
- native的Socket向Android的LocalSocketServer发送汉字乱码的问题
- 数据库 创建 / 查看/ 删除
- 康乐php一键脚本,kangle一键脚本
- html 圆饼画布,html5 canvas画饼
- 《剑指offer》面试题21——包含min函数的栈(C++)
- 拓端tecdat|matlab使用Copula仿真优化市场风险数据VaR分析
- MVC4 Model ValueProvider
- 用matlab实现sift算法,sift算法的MATLAB程序
- matlab中怎么输入参数,matlab中输入参数命令
- 自定义异常 extends Exception
- STM32工程文件结构详解
- 深入理解先验分布、后验分布、似然估计
- swift 设置 pickerView 为黑底白字
- FileStream与StreamWriter区别
热门文章
- Java Process getOutputStream()方法与示例
- SpringBoot时间格式化的5种方法!
- 一文带你看完ZooKeeper!
- 富编译器汇总及二次开发Demo
- jsp中redirect和forward的区别
- pandas无法打开.xlsx文件,xlrd.biffh.XLRDError: Excel xlsx file; not supported
- 微信公众号——永久素材的上传
- 对HashMap数据结构的理解——加载因子和初始容量
- Scala中=gt;的用法
- 连接linux工具Mtr,Linux常用网络工具:路由扫描之mtr