首页
学习
活动
专区
圈层
工具
发布

sqlite 获取最后插入id

SQLite数据库中的表均有一个特殊的rowid字段,它是一个不重复的64位有符号整数,默认起始值为1。...对于失败的插入操作,rowid也可能在原来的基础上执行了自增。删除或回滚操作并不会减小rowid的值。...当rowid达到所能表示的最大值时,这时如果有新纪录要插入,系统就会从之前没有被使用过的(或从已经被删除的记录的)rowid中随机取出一个作为rowid。...SQLiteAPI 函数sqlite3_last_insert_rowid()可以取得最后一条插入的记录的rowid。但sqlite3_last_insert_rowid()是基于当前进程的。...也就是说,sqlite3_last_insert_rowid()取到的是当前进程最后一次插入记录的rowid。对于不是当前进程插入的记录,sqlite3_last_insert_rowi()均返回0。

7.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql实现获取自增id插入到其他表中

    现在有这样一个需求,就是我向A表中插入一条数据,id是自增的。...插入之后,还需要向B表中插入一条数据,但是B表中需要保存的数据中要使用刚刚A表自增后的id, 这个其实是一个比较常见的需求,就是两张表之间的一个关联,如果用程序来执行也是很容易实现。...比如我就在用sql执行之后,获取A的id插入到B表中 实现方式如下: insert into A (id,name,code) values (null, "zhagnsan", "zs"); // 注意...A表的id要设置为自增,给null值即可 set @id = @@IDENTITY; // 使用id变量保存刚刚自增生成的id insert into B (id,a_id,name) values...(null, @id, "lisi"); // 使用变量获取A表Id 上面是用自定义变量的形式进行保存的,如果你只是想查一下是多少,可以直接使用: select @@IDENTITY; 好了,如果对你有帮助

    5.6K20

    Mysql实现获取自增id插入到其他表中

    现在有这样一个需求,就是我向A表中插入一条数据,id是自增的。...插入之后,还需要向B表中插入一条数据,但是B表中需要保存的数据中要使用刚刚A表自增后的id, 这个其实是一个比较常见的需求,就是两张表之间的一个关联,如果用程序来执行也是很容易实现。...比如我就在用sql执行之后,获取A的id插入到B表中 实现方式如下: insert into A (id,name,code) values (null, "zhagnsan", "zs"); // 注意...A表的id要设置为自增,给null值即可 set @id = @@IDENTITY; // 使用id变量保存刚刚自增生成的id insert into B (id,a_id,name) values...(null, @id, "lisi"); // 使用变量获取A表Id 上面是用自定义变量的形式进行保存的,如果你只是想查一下是多少,可以直接使用: select @@IDENTITY; 好了,如果对你有帮助

    6.3K30

    MyBatis批量插入获取自增ID

    配置 MyBatis3.3.1或者MyBatis3.4.X(自测使用3.4.6) ModuleMapper.xml id="batchInsert" useGeneratedKeys...="true" keyProperty="id"> INSERT INTO module(app_id, task_id, `name`) VALUES <foreach...list, collection, array中的一个,比如 void batchInsert(@Param("list") List modules); 因为在单元测试中使用H2数据...,H2数据库原来是不支持批量插入后获取自增ID的,但是最新版的1.4.197已经支持了(在 2018-03-18发布),而且该版本还修复了大量的bug 参考资料 关于mybatis3.3.1批量插入回写...id的实践 MySQL批量插入返回自增ID的问题 http://www.h2database.com/html/changelog.html 如果对你有一点帮助,麻烦为我点一个赞,如果没有帮助,也非常期待你的反馈

    5.3K31

    MyBatis + MySQL返回插入成功后的主键id

    这是最近在实现perfect-ssm中的一个功能时碰到的一个小问题,觉得需要记录一下,向MySQL数据库中插入一条记录后,需要获取此条记录的id值,以生成对应的key值存入到redis中,id为自增int...articleCreateDate},#{articleContent},#{addName}) 这种方式只是返回一个影响行数值,并不能满足此次需求,于是做了如下修改: id...#{articleContent},#{addName}) 在insert中将useGeneratedKeys属性设置为true,并制定keyProperty为Article对象的id...=null); System.out.println("insert后article的id:"+article.getId()); } 结果如下: ?...mysql中表的记录如下: ? 结语 首发于我的个人博客,新的项目演示地址:perfect-ssm,登录账号:admin,密码:123456 ?

    5.4K60

    MySQL 插入数据

    MySQL 表中使用 INSERT INTO SQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。...语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...fieldN )...---- 通过命令提示窗口插入数据 以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 runoob_tbl 插入数据 实例 以下实例中我们将向 runoob_tbl 表插入三条数据...在以上实例中,我们并没有提供 runoob_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。...接下来我们可以通过以下语句查看数据表数据: 读取数据表: select * from runoob_tbl; 输出结果: mysql6.jpg 使用PHP脚本插入数据 你可以使用PHP 的 mysqli_query

    8.7K10

    MySQL 插入数据

    MySQL 表中使用 INSERT INTO SQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。...语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...fieldN )...---- 通过命令提示窗口插入数据 以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 runoob_tbl 插入数据 实例 以下实例中我们将向 runoob_tbl 表插入三条数据...在以上实例中,我们并没有提供 runoob_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。...() 函数来执行 SQL INSERT INTO命令来插入数据。

    8.4K20

    MySQL 插入数据

    MySQL 插入数据 MySQL 表中使用 INSERT INTO SQL语句来插入数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。...语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...fieldN )...---- 通过命令提示窗口插入数据 以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 runoob_tbl 插入数据 实例 以下实例中我们将向 runoob_tbl 表插入三条数据...在以上实例中,我们并没有提供 runoob_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。...SQL INSERT INTO命令来插入数据。

    7K20

    关于mysql自增id的获取和重置

    转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) ---- mysql获取自增id的几种方法 使用max函数:select max(id) from tablename...缺点:获取的不是真正的自增id,是表中最大的Id,如果有删除数据的话,那么该值和自增id相差比较大。如果有连表数据,有可能导致数据错乱。...使用LAST_INSERT_ID函数:select LAST_INSERT_ID() 优点:获取到的是真正的自增id。 缺点:该函数是与table无关的,永远保留最新插入的自增列的id。...所以需要额外的操作来获取。 使用自定义查询方法:mysql表相关的信息是放在information_schema表里。所以我们参考 SHOW TABLE STATUS来构建查询语句。...---- mysql自增id的重置 使用truncate:truncate table; 说明:使用truncate会删除表的数据释放空间,并且重置字自增id,但不会删除表的定义。

    13.7K20

    MySQL蜜罐获取攻击者微信ID

    前言 前些日子有人问到我溯源反制方面的问题,我就想到了MySQL任意文件读取这个洞,假设你在内网发现或扫到了一些MySQL的弱口令,你会去连吗?...这里000001是指数据包的序号,fb是指包的类型,最后一个框是指要读取的文件名,而最前面的14是指文件名的长度(从fb开始,16进制),所以payload则是chr(len(filename) + 1...日常生活中,大家几乎都会使用微信,而如果攻击者没有做到办公—渗透环境分离的话,我们就有希望获取到攻击者的微信ID Windows下,微信默认的配置文件放在C:\Users\username\Documents...可以看到,这款工具在验证完密码后还发了5个查询包,如果结果不对的话,是无法识别出弱口令的,那么我们将服务器的响应数据提取出来,放进程序里,当收到这些请求后,就返回对应的包: ?...写了个简单的web来显示攻击者的微信ID,扫一扫就能加上TA ? 思考 除了获取微信ID,我们还能获取哪些有价值的东西呢?

    2.3K40
    领券