2012-03-28 103 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

您有意想不到的逗号第一个参数之后。