我在数据库中使用两个表。第一个表用于存储学生的个人详细信息,其中一列是 auto_increment,名为 Student_id。我有另一个表用于存储主题详细信息,其中还包含 Student_id,它与前面提到的列具有外键关系。
如何为两个表使用相同的 id 值。现在我正在使用 javaPreparedStatement 分别发送查询来更新两个表(没有 id)。就像,
PreparedStatement preparedStatement = connection.prepareStatement("query");
preparedStatement.setString(i,"parameter");
preparedStatement.executeUpdate();
我对两个表做了同样的事情,但是是否可以在两个表中使用相同的 auto_id 进行更新?有人可以帮忙java实现吗?
最佳答案
由于没有提到表名称,我正在考虑将表名称用作 ParamsTable
,这是流程!
您按照代码中提到的方式进行插入(在问题中发布)!
PreparedStatement preparedStatement = connection.prepareStatement("query");
preparedStatement.setString(i,"parameter");
preparedStatement.executeUpdate();
此后,您必须触发 SELECT
查询以从 ParamsTable
中获取最后插入的 id(自动递增 id)
ResultSet resultSet = preparedStatement.executeQuery("SELECT last_insert_id() AS last_inserted_id");
String lastInsertedID = resultSet.getString("last_inserted_id");
您现在将保存 auto_increment 列的最后插入的 id,您可以在您选择的任何表中进一步使用它!
希望这有帮助!
关于java - 将相同的 auto_increment id 插入到两个不同的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50113059/