Java 在MySQL中使用Auto Increment,需要检索该数字
我有一个数据库,其中需要一些ID自动递增,但我也需要那个ID自动递增,作为另一个表的外键。是否有办法在同一事务中恢复该数字以将值插入第二个表 例如: 1) 创建用户 2) 检索自动递增生成的ID号(例如:AI:5) 3) 将值插入一个名为Doctor的表中,该表需要该用户检索到该数字,所有这些值都在同一事务中 我知道JSP有一些功能来恢复生成的ID,但不确定MySQL。Java 在MySQL中使用Auto Increment,需要检索该数字,java,mysql,jsp,Java,Mysql,Jsp,我有一个数据库,其中需要一些ID自动递增,但我也需要那个ID自动递增,作为另一个表的外键。是否有办法在同一事务中恢复该数字以将值插入第二个表 例如: 1) 创建用户 2) 检索自动递增生成的ID号(例如:AI:5) 3) 将值插入一个名为Doctor的表中,该表需要该用户检索到该数字,所有这些值都在同一事务中 我知道JSP有一些功能来恢复生成的ID,但不确定MySQL。 另一件事是,我不能只发送一个查询来恢复最后生成的ID,因为例如,如果同时创建了10个帐户,我可能无法获得假定的数字。对于纯My
另一件事是,我不能只发送一个查询来恢复最后生成的ID,因为例如,如果同时创建了10个帐户,我可能无法获得假定的数字。对于纯MySQL解决方案:
SELECT LAST_INSERT_ID();
对于Java方式:
ResultSet rs = stmt.getGeneratedKeys();
对于纯MySQL解决方案:
SELECT LAST_INSERT_ID();
对于Java方式:
ResultSet rs = stmt.getGeneratedKeys();
另一个可比副本的可能副本:许多其他类似问题有待发现。最后一个insert id取决于活动连接,因此,如果您试图用一个页面连接检索它,而同时又插入了几个其他连接,您仍然会得到正确的id。@Michael,不,上面的问题是关于PHP的,这里它提到了JSP。@stivlo
last_insert_id()
是一个独立于API的MySQL函数。可能与另一个类似的函数重复:许多其他类似问题有待发现。最后一个insert id取决于活动连接,因此,如果您试图用一个页面连接检索它,而同时又插入了其他几个连接,您仍然可以得到正确的id。@Michael,不,上面的问题是关于PHP的,这里它提到了JSP。@stivlolast\u insert\u id()
是一个独立于API的MySQL函数。