java - 将相同的 auto_increment id 插入到两个不同的表中

标签 java mysql sql auto-increment

我在数据库中使用两个表。第一个表用于存储学生的个人详细信息,其中一列是 auto_increment,名为 Student_id。我有另一个表用于存储主题详细信息,其中还包含 Student_id,它与前面提到的列具有外键关系。

如何为两个表使用相同的 id 值。现在我正在使用 javaPreparedStatement 分别发送查询来更新两个表(没有 id)。就像,

PreparedStatement preparedStatement = connection.prepareStatement("query");
preparedStatement.setString(i,"parameter");
preparedStatement.executeUpdate();

我对两个表做了同样的事情,但是是否可以在两个表中使用相同的 auto_id 进行更新?有人可以帮忙java实现吗?

数据库架构如下: enter image description here

最佳答案

由于没有提到表名称,我正在考虑将表名称用作 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/

相关文章:

php - Mysql/php 按 varchar 的第二个单词排序

java - 将 JRadioButton 添加到组中

java - CXF java2ws : how to include external xsd files?

java - 有比 Swing 更好的 Java 应用程序框架吗?

MySQL 数据库的 PHP 输入在 Infinityfree 中不起作用

SQLite/DB 浏览器中的 SQL 查询不返回任何值

java - Java 中的新行字符表示

mysql。插入、更新和位置

php - 无法接收 PHP/HTML 中的 POST 结果

sql - 并发安全访问golang中的数据库