2012-03-28 142 views
0

我正在使用下面的代碼來更新我的mysql表,其中moving50和moving200都是可變字符。Sql語句不執行

String sql = "update toplosers set Moving50 = ?, where Symbol = ?"; 
PreparedStatement stmt = conn.prepareStatement(sql); 
for(int i1=0;i1<i;i1++) 
{ 

     stmt.setString(1, moving50[i1]); 
     stmt.setString(2,symbol[i1]); 


    stmt.addBatch(); 
} 
stmt.executeBatch(); 
} 

我得到「有一個錯誤的SQL語法;請查看對應於您的MySQL服務器版本在1號線 什麼是使用近‘其中符號=‘mysymbol’’正確的語法手冊問題

回答

1

無需添加「逗號」的where子句。 現在檢查。

String sql = "update toplosers set Moving50 = ? where Symbol = ?"; 
PreparedStatement stmt = conn.prepareStatement(sql); 
for(int i1=0;i1<i;i1++) 
{ 

     stmt.setString(1, moving50[i1]); 
     stmt.setString(2,symbol[i1]); 


    stmt.addBatch(); 
} 
stmt.executeBatch(); 
} 

看樣例如here

1

的「其中」條款之前避免逗號字符。

+0

感謝您的幫助。有效 – user1092042 2012-03-28 15:01:17

2

您有意想不到的逗號第一個參數之後。