mysql 插入数据后返回主键

mysql 插入数据后返回主键,第1张

你可以看看这里,大致有三种办法:

#方法一是使用last_insert_id

 SELECT LAST_INSERT_ID()

#方法二是使用max(id),但是不适用高并发环境下。

方法三是创建一个存储过程,在存储过程中调用先插入再获取最大值的 *** 作

#方法四使用@@identity

select @@IDENTITY

#基本MySQL的学习,可以学习这里。使用MariaDB数据库管理系统。 linuxprobe.com/chapter-18.html

#出处:

你可以在执行完insert语句后,马上执行select LAST_INSERT_ID()这个函数就可以获取到"刚增记录的自增主键值"了。

给你个示例:

http://www.javaeye.com/topic/393951

如果你是用jdbc的,可以利用其API,参考代码如下:

Connection conn = DriverManager.getConnection(连接参数)

Statement stmt = conn.executeUpdate(insert sql)

ResultSet genKeys = stmt.getGeneratedKeys()

你可以先用sql语句查询出数据库的结构,就可以知道那个字段是主键。如果你插入的数据不包含主键,那么主键就是由数据库生成的,比如是自增序列或uuid,这时候需要从数据库中读取出来,你可以用刚才插入的数据作为条件查询,同时选择只取一条记录,当然这种方式也不是很可靠,尤其是高并发下;如果插入数据包含主键,那么返回值就在你插入数据的对应位置。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9424754.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存