我在問自己是否可以SELECT
與LAST_INSERT_ID()
在WHERE
條款後一批INSERT
s沒有得到表中的數據損壞?我正在考慮多個用戶同時做同樣的事情。我開發了一個JSF應用程序,在這個應用程序中可以實現這種情況我可以在INSERT Batch之後使用LAST_INSERT_ID()進行選擇嗎?
在硬代碼我SELECT
後INSERT
的長相是這樣的:
preparedstatement.addBatch(
"INSERT INTO table1(all the FIELDS)"
+ "VALUES(null, ...);"
);
preparedstatement.addBatch(
"INSERT INTO table2(all the FIELDS)"
+ "VALUES(null, LAST_INSERT_ID(), ...);"
);
preparedstatement = connect.prepareStatement(
"SELECT id FROM table3 WHERE id = LAST_INSERT_ID();"
);
preparedstatement.executeBatch();
resultSet = preparedstatement.executeQuery();
得到我的問題與此的實施或有一個更好的辦法?
問候
看一看這個網頁;)http://stackoverflow.com/questions/4224228/preparedstatement-with-statement-return-generated-keys – Guillaume
我看到這個頁面上的唯一的事情是從'connect.preparedStatement()'獲得Keys,但在我的情況下,我需要從批處理中獲得密鑰。 – commandcraxx
對不起,我誤解了你的問題......請看下面的答案 – Guillaume