ZBLOG

mysql insert 返回记录id

在MySQL中,可以使用LAST_INSERT_ID()函数来获取最后一次插入操作生成的自增ID值。当执行INSERT语句时,如果表中有一个自动增量的列,则该函数会返回这个列的值。

例如,假设我们有一张名为user的表,其中包含id、username和password三个字段。其中id是自动递增的主键。要向该表中插入一条新记录,并获取插入后的id值,可以使用以下SQL语句:

INSERT INTO user (username, password) VALUES ('John', 'Doe');
SELECT LAST_INSERT_ID();

在上面的示例中,第一条SQL语句向user表中插入了一个用户名为”John”,密码为”Doe”的记录。第二条SQL语句调用LAST_INSERT_ID()函数来获取刚才插入记录生成的id值。

如果你是通过Java JDBC API来执行SQL语句,可以调用Statement对象的executeUpdate方法执行INSERT语句,并通过getGeneratedKeys方法获取自动生成的id值。示例代码如下:

Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement stmt = conn.prepareStatement("INSERT INTO user (username, password) VALUES (?, ?)", Statement.RETURN_GENERATED_KEYS);
stmt.setString(1, "John");
stmt.setString(2, "Doe");
int rowsAffected = stmt.executeUpdate();
ResultSet rs = stmt.getGeneratedKeys();
if (rs.next()) {
    long id = rs.getLong(1);
    System.out.println("Inserted record's ID: " + id);
}
rs.close();
stmt.close();
conn.close();

在上面的示例中,我们通过将Statement对象的第二个参数设置为Statement.RETURN_GENERATED_KEYS来指示JDBC API返回自动生成的主键。然后,我们调用getGeneratedKeys方法获取ResultSet对象,并从该对象中获取新插入记录的id值。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=6400

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?