`
ccx20060810501
  • 浏览: 32599 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

向数据库插入数据时如何获取主键

 
阅读更多

向数据库中插入数据的同时获取主键,比较推荐的方式:

 

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);
		}
 
分享到:
评论

相关推荐

    jdbc 插入记录并返回自增主键值

    java 利用 jdbc 向 mysql 数据库插入记录并返回插入记录生成的主键值

    labview数据库.docx

    设置的值必须满足数据表中对应列的数据类型,不同的数据库管理系统中数据的输入格式会稍有不同,但一般来说,字符串数据用西文单引号括起来,数字型数据直接输入,日期型数据用##括起来。 下面的SQL语句用来向...

    最新Mybatis插入数据返回自增主键详细配置

    Mybatis插入数据返回的自增主键会自动设置为插入对象的属性值,因此我们可以通过获取对象的属性获得自增的主键。 1、通过xml配置获取自增主键 xml配置 select last_insert_id() insert into sys_user(username,...

    支付宝小程序serverless—插入数据后获取数据的主键_id(mongodb)

    支付宝小程序serverless—插入数据后获取数据的主键_id(mongodb) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 之前很痛苦,一直...

    数据库主键设计原则.txt

    而且数据太长,影响数据库效率.GUID的产生不是以一定的次序产生, 对于按主键物理排序的数据库来说,如果在记录的前部插入一条记录,可能会导致后面N次方的数据条数后移.这将导致数据插入效率. 因此GUID的采用应该要慎重...

    oracle数据库主键自增并且返回主键值

    一、创建序列 1.1、直接在PLSQL中设置 1.2、命令创建 create sequence seq_users ##创建序列seq_users increment by 1 ## 步长,每次加1 start with 1 ##从1开始 minvalue 1 ##最小值 maxvalue 9999999 ##最大值 ...

    小议sqlserver数据库主键选取策略

    因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误...自动增长型字段允许我们在向数据库添加数据时,不考虑主键的取值,记录插入后,数据库系统会自动为其分配一个值,确保

    易语言操作数据库教程之EDB教程

    2.查询数据(讲SQL类型的数据库的时候我们会详细的讲到)。ACCESS SQLITE QE(内存操作的数据库)。易语言操作数据库教程之EDB教程第二讲。第二讲:。1.什么是主键。主键: 即是唯一的,不可重复的整数型的字段。id 张三的...

    MySQL创建存储过程批量插入10万条数据

    MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...

    主键顺序插入的测试数据sql1.log

    用在MySQL高级(二)的5.1 优化大批量插入数据的测试数据

    向存在外键的表中插入数据时出错的原因以及插入外键为空的方法

    创建一个表,表中有一个外键,这个外键指向自己的主键,在创建表的时候是被允许的,但是在插入数据的时候,我用正常的sql语句插入数据,但报错了,如下 INSERT INTO course (cno,cname,ccredit) VALUES (1,'数据库'...

    详解C#批量插入数据到Sqlserver中的四种方式

    先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引。GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记录的ID的值...

    完美解决Thinkphp3.2中插入相同数据的问题

    今天在使用TP3.2插入数据的时候,为了避免插入相同的数据(所谓相同的数据,其主键相同或者是唯一索引的字段相同),我创建的索引如下图,主键索引为自增字段,不可能出现重复,即唯一索引可能会出现重复,我希望的...

    数据库完整性实验-完整代码.rar

    (9)创建一个触发器student_insert,实现功能:如果往学生表中插入数据,则自动修改班级表中的班级人数classNum。(如果改为删除数据,代码要怎么改?) (10)建立一个触发器course_check,每当删除课程表中记录时...

    数据库主键的设计和思考

     因为自动增长,在手动要插入指定ID的记录时会显得麻烦,尤其是当系统与其它系统集成时,需要数据导入时,很难保证原系统的ID不发生主键冲突(前提是老系统也是数字型的)。特别是在新系统上线时,新旧系统并行...

    数据库转sqlite数据库

    4、插入数据时,有启用sqlite的事务处理 5、实测,access库中有33张表,总共45万多条数据(有张表334613条记录),所花时间1243.078秒 电脑配置:cpu:E7500,内存2G 6、导入数据时,是一次性打开access表的,并循环一条...

    Java使用Mybatis将数据批量插入到Oracle

    Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键

    数据库系统概论(王珊第五版)数据库实验9.doc

    4)创建INSTEAD OF触发器,当向sc表中插入记录时,先检查sno列上的值在student中是否存在,如果 存在执行插入操作,如果不存在则提示"该学生不存在"。 5)比较约束与触发器的执行顺序。(在一个表中创建CHECK约束和...

    城市公交系统数据库设计.doc

    由于用户对数据库的操作主要有插入数据、修改数据、删除数据和查询数据等,其中 ,最频繁的操作是查询数据[3]。现在根据系统需要,尤其是数据查询需要,我们首先应 该录入一些基础数据:公交线路网络数据集;站点...

    NIFI-MySqlToMySql增量同步数据实时采集-实现了日期类型-以及空值处理-插入已存在变更新-更新未存在变插入.zip

    使用了NIFI1.21.0最新版,2023-06-20作者在这个时间做好的,这个大数据处理流程,已经实现了,增量mysql的cdc数据读取以后,在插入到目标mysql数据库的时候,如果碰到主键一样的id,就自动变成更新数据,如果在更新的时候...

Global site tag (gtag.js) - Google Analytics