我正在尝试用Java编写一个函数来更新Mysql表的描述和标题字段但是当我传递int变量' urlid'什么也没有添加。如果我将urlid变量(在查询的最后)更改为另一个int变量(例如int i = 2),那么它可以正常工作。什么是这个urlid让事情出错?
public void updateDescription( String desc, String title, int urlid ) throws SQLException, IOException {
String cutDesc = desc.substring(0, 99);
Statement stat = connection.createStatement();
String query = "UPDATE urls SET description = '"+cutDesc+"', title = '"+title+"' WHERE urlid =" + urlid;
stat.executeUpdate( query );
stat.close();
}
答案 0 :(得分:0)
我猜你错过了报价,
"UPDATE urls SET description = '"+cutDesc+"', title = '"+title+"' WHERE urlid ='"+ urlid+"'";
希望这有帮助!!
注意:使用预准备语句来避免sql注入。 see here
答案 1 :(得分:0)
我猜你最后可以试试WHERE urlid ='"+ urlid+"'";
。
供您参考http://dev.mysql.com/doc/refman/5.7/en/type-conversion.html