`
zjx2388
  • 浏览: 1313529 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

mysql获取刚insert的记录ID

阅读更多

 当数据库表的主键使用mysql的自增ID时,获取一条刚插入的记录的ID可以 使用:

rs = pstmt.getGeneratedKeys();
if(rs.next()) {
        personId = rs.getInt(1);
}

 

附程序中的一个例子:

     

	public int addPerson(Person person) {
		int personId = 0;
		
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		
		try {
			String sql = "INSERT INTO t_person(personname, gender, age, address, duty, phone, description, receivesms) VALUES(?, ?, ?, ?, ?, ?, ?, ?)";
			conn = DB.getConn();
			pstmt = DB.prepareStmt(conn, sql);
			pstmt.setString(1, person.getPersonname());
			pstmt.setString(2, person.getGender());
			pstmt.setInt(3, person.getAge());
			pstmt.setString(4, person.getAddress());
			pstmt.setString(5, person.getDuty());
			pstmt.setString(6, person.getPhone());
			pstmt.setString(7, person.getDescription());
			pstmt.setInt(8, person.isReceivesms() ? 1 : 0);
			
			pstmt.executeUpdate();
			
			rs = pstmt.getGeneratedKeys();
			if(rs.next()) {
				personId = rs.getInt(1);
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
			
		} finally {
			DB.close(pstmt);
			DB.close(conn);
		}
		
		return personId;
	}

 

 

分享到:
评论

相关推荐

    mysql的插入问题 怎么获得自动增长的ID

    学习mysql必看的东西 一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql...还是MYSQL的,一张表有还是有ID自增主键,用JDBC insert一条语句之内,怎么在JAVA程序里面获得这条记录的ID.

    PHP获取MySql新增记录ID值的3种方法

    一、使用语句:   复制代码 代码如下:mysql_query(“select max(id) from t1”,$link); 使用此方法得到的是 id最大...$getID=mysql_insert_id();//$getID即为最后一条记录的ID //此函数的使用条件: //1.假设字段名称

    mysql雪花算法生成唯一整型ID主键的实现方法

    MySQL 雪花算法生成唯一整型ID主键的实现主要针对大数据环境下,需要大量生成全局唯一ID的需求。雪花算法是一种分布式ID生成策略,由Twitter开源,其设计目标是在分布式系统中生成具有全局唯一性、有序性和高并发性...

    Mysql中LAST_INSERT_ID()的函数使用详解

    总的来说,LAST_INSERT_ID()是MySQL中处理自增ID的一个关键功能,特别适用于需要获取新插入记录ID的场景,例如在事务处理、关联插入或其他需要跟踪唯一标识符的复杂操作中。正确理解和使用这个函数可以大大提高...

    Java获取最后插入MySQL记录的自增ID值的3种方法

    在Java编程中,当我们在MySQL数据库中执行插入操作并希望获取新插入记录的自增ID时,有多种方法可以实现这一需求。以下是三种常见的方法,适用于不同的场景。 **方法一:使用PreparedStatement的RETURN_GENERATED_...

    使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值

    在MySQL数据库中,为了确保数据记录的唯一性,通常会在每个表中设置一个带有`AUTO_INCREMENT`属性的`ID`字段。然而,在分表的情况下,由于各分表的`ID`字段同样使用`AUTO_INCREMENT`,会导致无法区分来自不同分表的...

    MyBatis insert操作插入数据之后返回插入记录的id

    在上面的示例中,我们可以看到insert元素中设置了keyProperty="id"和useGeneratedKeys="true"两个属性,这样可以在插入数据之后获取对应的记录id。 在Java代码中,我们可以使用Mapper接口来调用insert方法,并获取...

    java获取新insert数据自增id的实现方法

    Java获取新insert数据自增id的实现方法 Java获取新insert数据自增id的实现方法主要介绍了在Java中获取新insert数据自增id的实现方法。该方法在实际应用中非常重要,因其可以对主从表结构的设计产生重要影响。 在...

    mysql中实现sequence.pdf

    在MySQL中,序列(Sequence)通常用于生成...总的来说,虽然MySQL不像某些数据库那样直接支持序列,但通过`LAST_INSERT_ID()`函数和巧妙的数据表设计,我们仍然可以在MySQL中实现序列的功能,满足获取唯一标识的需求。

    mybatis 获取mysql插入记录的自增长字段值.pdf

    这段代码定义了一个名为`insert`的SQL插入语句,其中`keyColumn`指定了主键列`id`,`keyProperty`指定了接收自增长ID的Java属性`id`,而`useGeneratedKeys="true"`启用了获取自增ID的功能。`parameterType`指定了...

    MYSQL中获取得最后一条记录的语句

    总结一下,MySQL中的 `LAST_INSERT_ID()` 是一种高效且线程安全的方法,用于获取当前连接中最近插入记录的自增ID,特别适用于需要在多表操作中保持数据关联的情况。在使用时,务必注意其特性,尤其是当一次插入多行...

    解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()

    在MySQL中,`last_insert_id()`是一个用于获取最后通过`INSERT`语句生成的自增ID的函数,尤其在自增主键列上非常有用。在大多数情况下,当你插入一条新记录并需要获取这个新生成的ID时,这个函数会派上用场。 在...

    MySQL面试题,经典

    1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 2、Mysql 的技术特点是什么 3、Heap 表是什么 4、...

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

    为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try (Connection conn = DriverManager.getConnection(url, user, password))...

    MySQL中文参考手册

    o 4.1 怎样获得MySQL o 4.2 MySQL支持的操作系统 o 4.3 使用MySQL哪个版本 o 4.4 怎样和何时发布更新版本 o 4.5 安装布局 o 4.6 安装MySQL二进制代码分发 + 4.6.1 Linux RPM注意事项 + 4.6.2 构造客户程序 ...

    最全Mysql数据库命令

    mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59); 5、查询表中的数据 1)、查询所有行 命令: select <字段1,字段2,...> from 表名 > where 表达式 > 例如:查看表 MyClass...

    利用Java的MyBatis框架获取MySQL中插入记录时的自增主键

    本文将详细讲解如何在MyBatis中利用MySQL的自增主键功能,以便在插入新记录后获取生成的唯一ID。 首先,我们要明白MySQL中的自增主键。自增主键是一种特殊的字段类型(通常是`INT`),每当插入新的记录时,其值会...

    Python的MySQL数据库操作

    Python MySQL 数据库操作 Python 作为一门流行的编程语言,在与 MySQL 数据库进行...Python 可以通过 MySQLdb 库来与 MySQL 数据库进行交互,实现了数据库的创建、数据表的创建、记录的插入、记录的获取和连接的关闭。

    mysql递归调用获取树节点(子树).pdf

    总结起来,通过创建具有自引用关系的`treenodes`表,配合使用递归存储过程,可以有效地在MySQL中处理树形结构数据,获取特定节点的子树。这种方法虽然效率可能不如其他更高级的数据结构(如NL-Tree或Closure Table)...

Global site tag (gtag.js) - Google Analytics