向数据库中插入数据的同时获取主键,比较推荐的方式:
String sqlStr = "insert into user(name,birthday,money) values('name1','1987-02-03',1234)";
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
int key = 0;
try {
// 建立连接
conn = JdbcUtils.getInstance().getConnection();
// 创建语句
st = conn.prepareStatement(sqlStr, Statement.RETURN_GENERATED_KEYS);
// 执行语句
st.executeUpdate();
rs = st.getGeneratedKeys();
if (rs.next()) {
key = rs.getInt(1);
}
return key;
} finally {
JdbcUtils.getInstance().free(null, st, conn);
}
分享到:
相关推荐
java 利用 jdbc 向 mysql 数据库插入记录并返回插入记录生成的主键值
设置的值必须满足数据表中对应列的数据类型,不同的数据库管理系统中数据的输入格式会稍有不同,但一般来说,字符串数据用西文单引号括起来,数字型数据直接输入,日期型数据用##括起来。 下面的SQL语句用来向...
Mybatis插入数据返回的自增主键会自动设置为插入对象的属性值,因此我们可以通过获取对象的属性获得自增的主键。 1、通过xml配置获取自增主键 xml配置 select last_insert_id() insert into sys_user(username,...
支付宝小程序serverless—插入数据后获取数据的主键_id(mongodb) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 之前很痛苦,一直...
而且数据太长,影响数据库效率.GUID的产生不是以一定的次序产生, 对于按主键物理排序的数据库来说,如果在记录的前部插入一条记录,可能会导致后面N次方的数据条数后移.这将导致数据插入效率. 因此GUID的采用应该要慎重...
一、创建序列 1.1、直接在PLSQL中设置 1.2、命令创建 create sequence seq_users ##创建序列seq_users increment by 1 ## 步长,每次加1 start with 1 ##从1开始 minvalue 1 ##最小值 maxvalue 9999999 ##最大值 ...
因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误...自动增长型字段允许我们在向数据库添加数据时,不考虑主键的取值,记录插入后,数据库系统会自动为其分配一个值,确保
2.查询数据(讲SQL类型的数据库的时候我们会详细的讲到)。ACCESS SQLITE QE(内存操作的数据库)。易语言操作数据库教程之EDB教程第二讲。第二讲:。1.什么是主键。主键: 即是唯一的,不可重复的整数型的字段。id 张三的...
MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
用在MySQL高级(二)的5.1 优化大批量插入数据的测试数据
创建一个表,表中有一个外键,这个外键指向自己的主键,在创建表的时候是被允许的,但是在插入数据的时候,我用正常的sql语句插入数据,但报错了,如下 INSERT INTO course (cno,cname,ccredit) VALUES (1,'数据库'...
先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引。GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记录的ID的值...
今天在使用TP3.2插入数据的时候,为了避免插入相同的数据(所谓相同的数据,其主键相同或者是唯一索引的字段相同),我创建的索引如下图,主键索引为自增字段,不可能出现重复,即唯一索引可能会出现重复,我希望的...
(9)创建一个触发器student_insert,实现功能:如果往学生表中插入数据,则自动修改班级表中的班级人数classNum。(如果改为删除数据,代码要怎么改?) (10)建立一个触发器course_check,每当删除课程表中记录时...
因为自动增长,在手动要插入指定ID的记录时会显得麻烦,尤其是当系统与其它系统集成时,需要数据导入时,很难保证原系统的ID不发生主键冲突(前提是老系统也是数字型的)。特别是在新系统上线时,新旧系统并行...
4、插入数据时,有启用sqlite的事务处理 5、实测,access库中有33张表,总共45万多条数据(有张表334613条记录),所花时间1243.078秒 电脑配置:cpu:E7500,内存2G 6、导入数据时,是一次性打开access表的,并循环一条...
Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键
4)创建INSTEAD OF触发器,当向sc表中插入记录时,先检查sno列上的值在student中是否存在,如果 存在执行插入操作,如果不存在则提示"该学生不存在"。 5)比较约束与触发器的执行顺序。(在一个表中创建CHECK约束和...
由于用户对数据库的操作主要有插入数据、修改数据、删除数据和查询数据等,其中 ,最频繁的操作是查询数据[3]。现在根据系统需要,尤其是数据查询需要,我们首先应 该录入一些基础数据:公交线路网络数据集;站点...
使用了NIFI1.21.0最新版,2023-06-20作者在这个时间做好的,这个大数据处理流程,已经实现了,增量mysql的cdc数据读取以后,在插入到目标mysql数据库的时候,如果碰到主键一样的id,就自动变成更新数据,如果在更新的时候...