![](/img/trans.png)
[英]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.