当数据库表的主键使用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自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql...还是MYSQL的,一张表有还是有ID自增主键,用JDBC insert一条语句之内,怎么在JAVA程序里面获得这条记录的ID.
一、使用语句: 复制代码 代码如下:mysql_query(“select max(id) from t1”,$link); 使用此方法得到的是 id最大...$getID=mysql_insert_id();//$getID即为最后一条记录的ID //此函数的使用条件: //1.假设字段名称
MySQL 雪花算法生成唯一整型ID主键的实现主要针对大数据环境下,需要大量生成全局唯一ID的需求。雪花算法是一种分布式ID生成策略,由Twitter开源,其设计目标是在分布式系统中生成具有全局唯一性、有序性和高并发性...
总的来说,LAST_INSERT_ID()是MySQL中处理自增ID的一个关键功能,特别适用于需要获取新插入记录ID的场景,例如在事务处理、关联插入或其他需要跟踪唯一标识符的复杂操作中。正确理解和使用这个函数可以大大提高...
在Java编程中,当我们在MySQL数据库中执行插入操作并希望获取新插入记录的自增ID时,有多种方法可以实现这一需求。以下是三种常见的方法,适用于不同的场景。 **方法一:使用PreparedStatement的RETURN_GENERATED_...
在MySQL数据库中,为了确保数据记录的唯一性,通常会在每个表中设置一个带有`AUTO_INCREMENT`属性的`ID`字段。然而,在分表的情况下,由于各分表的`ID`字段同样使用`AUTO_INCREMENT`,会导致无法区分来自不同分表的...
在上面的示例中,我们可以看到insert元素中设置了keyProperty="id"和useGeneratedKeys="true"两个属性,这样可以在插入数据之后获取对应的记录id。 在Java代码中,我们可以使用Mapper接口来调用insert方法,并获取...
Java获取新insert数据自增id的实现方法 Java获取新insert数据自增id的实现方法主要介绍了在Java中获取新insert数据自增id的实现方法。该方法在实际应用中非常重要,因其可以对主从表结构的设计产生重要影响。 在...
在MySQL中,序列(Sequence)通常用于生成...总的来说,虽然MySQL不像某些数据库那样直接支持序列,但通过`LAST_INSERT_ID()`函数和巧妙的数据表设计,我们仍然可以在MySQL中实现序列的功能,满足获取唯一标识的需求。
这段代码定义了一个名为`insert`的SQL插入语句,其中`keyColumn`指定了主键列`id`,`keyProperty`指定了接收自增长ID的Java属性`id`,而`useGeneratedKeys="true"`启用了获取自增ID的功能。`parameterType`指定了...
总结一下,MySQL中的 `LAST_INSERT_ID()` 是一种高效且线程安全的方法,用于获取当前连接中最近插入记录的自增ID,特别适用于需要在多表操作中保持数据关联的情况。在使用时,务必注意其特性,尤其是当一次插入多行...
在MySQL中,`last_insert_id()`是一个用于获取最后通过`INSERT`语句生成的自增ID的函数,尤其在自增主键列上非常有用。在大多数情况下,当你插入一条新记录并需要获取这个新生成的ID时,这个函数会派上用场。 在...
1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 2、Mysql 的技术特点是什么 3、Heap 表是什么 4、...
为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try (Connection conn = DriverManager.getConnection(url, user, password))...
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> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59); 5、查询表中的数据 1)、查询所有行 命令: select <字段1,字段2,...> from 表名 > where 表达式 > 例如:查看表 MyClass...
本文将详细讲解如何在MyBatis中利用MySQL的自增主键功能,以便在插入新记录后获取生成的唯一ID。 首先,我们要明白MySQL中的自增主键。自增主键是一种特殊的字段类型(通常是`INT`),每当插入新的记录时,其值会...
Python MySQL 数据库操作 Python 作为一门流行的编程语言,在与 MySQL 数据库进行...Python 可以通过 MySQLdb 库来与 MySQL 数据库进行交互,实现了数据库的创建、数据表的创建、记录的插入、记录的获取和连接的关闭。
总结起来,通过创建具有自引用关系的`treenodes`表,配合使用递归存储过程,可以有效地在MySQL中处理树形结构数据,获取特定节点的子树。这种方法虽然效率可能不如其他更高级的数据结构(如NL-Tree或Closure Table)...