は、どのように私は次のクエリを実行し、プリペアドステートメントを経由して結果を取得することができます。javaで複合SQLクエリを実行するには?
INSERT INTO vcVisitors (sid) VALUES (?); SELECT LAST_INSERT_ID();
は一度に両方の二つの文を実行する方法はありますか?私もでのexecuteQueryを交換しようとした
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は、このようなクエリを実行することができないというエラーを与え、 :私は次の操作を実行しようとした
次
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'); LAST_INSERT_ID()を選択します。。。。mysqlのコンソールから直接」
私はそれが可能だとは思わない。特に 'INSERT'と' SELECT'ではありません。 – Jacob