我如何執行下面的查詢和檢索通過事先準備好的聲明的結果:如何在java中執行復合sql查詢?
INSERT INTO vcVisitors (sid) VALUES (?); SELECT LAST_INSERT_ID();
有一次同時執行兩個語句的方法嗎?
我試着做到以下幾點:
Connection con = DbManager.getConnection();
PreparedStatement ps = con.PrepareStatement(
"INSERT INTO vcVisitors (sid) VALUES (?); SELECT LAST_INSERT_ID();");
ps.setInt(1, 10);
ResultSet rs = ps.exequteQuery();
rs.next();
return rs.getInt("LAST_INSERT_ID()");
,但它給了我一個錯誤的executeQuery不能執行這樣的查詢, 我也試着通過更換的executeQuery以下:
ps.execute();
rs = ps.getResultSet();
,但它給我的SQL語法錯誤:
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'SELECT LAST_INSERT_ID()' at line 1
但執行查詢時沒有問題 「INSERT INTO vcVisitors(sid)VALUES('10');直接從MySQL控制檯「
我不認爲這是可能的。特別是不用'INSERT'和'SELECT'。 – Jacob