2017-01-12 33 views
-1

這是我的SQL語句:的MySQL更新查詢被給了一個錯誤:

String sql = "update student " 
      + " set first_name=?, last_name=?, email=?" 
      + " where id=? "; 

我使用mysqlWorkbench,這是我收到的錯誤:

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 '?, last_name=?, email=? where id=?' at line 1

+0

你可以發佈你正在嘗試執行的*整個*組語句嗎? –

+1

您從哪種語言調用此查詢? –

+0

Java,我正在使用DAO訪問數據庫 –

回答

0

你得到的原因此錯誤是因爲?不是要設置的有效字符。此查詢可能是您複製此代碼的代碼中的prepared statement

這基本上意味着?字符被代碼中傳遞的實際數據替換。例如:

UPDATE student SET first_name='John', last_name='Doe', email='[email protected]' WHERE id=12345 

簡單地複製這個查詢和MySQL工作臺(或其他數據庫客戶端)粘貼是行不通的。