[英]How to solve problem with common auto_increment id for all tables
[英]Inserting same auto_increment id into two different tables
我在数据库中使用两个表。 第一个表用于存储学生的个人详细信息,其中一列名为auto_increment的名称为Student_id。 我还有另一个用于存储主题详细信息的表,其中还包含Student_id,该ID与前面提到的列具有外键关系。
如何为两个表使用相同的ID值。 现在,我使用java PreparedStatement单独发送查询以更新两个表(不带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,您可以在选择的任何表中进一步使用它!
希望这可以帮助!
尝试这个:
PreparedStatement preparedStatement = connection.prepareStatement("query");
preparedStatement.setString(i,"parameter");
preparedStatement.executeUpdate();
ResultSet generatedKeys = preparedStatement.getGeneratedKeys()
if (generatedKeys.next()) {
user.setId(generatedKeys.getLong(1));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.