我试图用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();
    }

最佳答案

我想你错过了引号,

"UPDATE urls SET description = '"+cutDesc+"', title = '"+title+"' WHERE urlid ='"+ urlid+"'";


希望这可以帮助 !!

注意:使用准备好的语句来避免sql注入。 see here

关于java - 为什么Mysql字段不会更新? -Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22986398/

10-11 09:14