2013-10-30 67 views

回答

1

我是一個MySQL DBA,但我不知道任何關於JDBC(除了「這件事情做與Java」,這是足夠的理由讓我找到閱讀關於它是痛苦的)..但是,它看起來像executeUpdate()是你正在尋找。

int executeUpdate(String sql) 
       throws SQLException 
Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE 
statement or an SQL statement that returns nothing, such as an SQL DDL statement. 

這最後一部分(「不返回任何內容的SQL語句」)聽起來像是一個SET @rank = 0貼切的描述;它不會返回任何結果集。

Parameters: 
sql - an SQL Data Manipulation Language (DML) statement, such as INSERT, 
     UPDATE or DELETE; or an SQL statement that returns nothing, 
     such as a DDL statement. 
Returns: 
     either (1) the row count for SQL Data Manipulation Language (DML) 
     statements or (2) 0 for SQL statements that return nothing 
Throws: 
     SQLException - if a database access error occurs, this method is called on 
     a closed Statement or the given SQL statement produces a ResultSet object 

http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#executeUpdate%28java.lang.String%29

我認爲這是你使用的UPDATE usertwo...查詢同樣的事情...所以三的executeUpdate()調用,對同一個數據庫連接順序執行的,要做到你想要什麼。

或者,你其實只需要2個調用數據庫,因爲前兩個可以在一個單一的查詢進行組合:

SET @rank = 0, @userCount = (select COUNT(*) from usertwo); 

用戶定義的變量堅持MySQL的會議,這勢必會一個到數據庫的單一連接。

0

JDBC是Java代碼將如何與一個MySQL數據庫中,當您創建在Java代碼中的查詢/插入/更新,你可以有你喜歡的任何Java變量,並將它們添加到您的接口請求參數。

當然,我可能會誤解你的問題。你能否詳細說明一下?

+0

對不起,如果我的問題含糊不清。我不是在談論Java變量,我正在談論MySQL [用戶定義的變量](http://dev.mysql.com/doc/refman/5.5/en/user-variables.html)。 –

相關問題