使用 MySQL 的自动增量并需要检索该数字

发布于 2024-12-07 15:35:02 字数 267 浏览 0 评论 0原文

我有一个数据库,其中需要一些 ID 自动递增,但我还需要自动递增的 ID 作为另一个表的外键。有没有办法在同一事务中恢复该数字以将值插入到第二个表中?

如: 1)创建用户 2)获取自增生成的ID号(例如:AI:5) 3)将值插入名为Doctor的表中,该表需要该用户检索该号码,所有这些都在同一事务中...

我知道JSP有一些功能可以恢复生成的ID,但不确定MySQL。 另一件事是,我不能只发送查询来恢复最后生成的 ID,因为例如,如果同时创建 10 个帐户,我可能无法获得假定的数字。

I have a database in which I need some IDs to be autoincremented, but I also need that ID that gets auto incremented to be the Foreign Key for another table. Is there a way to recover that number within the same transaction to insert values into the second table?

As in:
1) Create a user
2) Retrieve the ID number generated by the auto increment ( for example: AI:5 )
3) Insert values into a table called Doctor, that needs that number retrieved by that user, all within same transaction...

I know that JSP has some function to recover that ID generated but not sure about MySQL.
Another thing is, I can't just send a query to recover the last generated ID because for example if 10 accounts got created at the same time I might not get the supposed number.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

_失温 2024-12-14 15:35:02

对于纯 MySQL 解决方案:

SELECT LAST_INSERT_ID();

对于 Java 方式:

ResultSet rs = stmt.getGeneratedKeys();

For a pure MySQL solution:

SELECT LAST_INSERT_ID();

For a Java way:

ResultSet rs = stmt.getGeneratedKeys();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文