Как я могу выполнить следующий запрос и получить результат с помощью подготовленного оператора:
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'); SELECT LAST_INSERT_ID (); " непосредственно из консоли mysql.