So führen Sie zusammengesetzte sql-Abfragen in java?

Wie kann ich führen Sie die folgende Abfrage und erhalten ein Ergebnis über vorbereitete Anweisung:

INSERT INTO vcVisitors (sid) VALUES (?); SELECT LAST_INSERT_ID();

Ist es ein Weg, um auszuführen, zwei Aussagen auf einmal?

Habe ich versucht, Folgendes zu tun:

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()");

aber es gibt mir eine Fehlermeldung, dass executeQuery kann nicht, ausführen einer solchen Abfrage,
Ich habe auch versucht zu ersetzen executeQuery durch die folgenden:

ps.execute();
rs = ps.getResultSet();

aber es gibt mir die SQL-syntax-Fehler:

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

aber es gibt keine Probleme mit der Ausführung der Abfrage
"INSERT INTO vcVisitors (sid) VALUES ('10'); SELECT LAST_INSERT_ID();"
direkt aus der mysql-Konsole.

Ich glaube nicht, dass das möglich ist. Vor allem nicht mit einem INSERT und ein SELECT.

InformationsquelleAutor tsds | 2011-07-21

Schreibe einen Kommentar