0

我有一个从 MYSQL 复制的 SQL 查询,但我删除了引号,但它似乎不起作用。

 conn = connect();
           selectStatement = "UPDATE student SET Item ? = ?, Type ? = ? WHERE ID = ?";
           System.out.println(selectStatement);
           if(conn != null)
           {
                preparedStatement = conn.prepareStatement(selectStatement);       
                preparedStatement.setString(2, id);
                preparedStatement.setInt(1, location);
                preparedStatement.setInt(3, location);
                preparedStatement.setString(4, type);
                preparedStatement.setString(5, userId);
                preparedStatement.executeUpdate();        
                return true;

我不确定为什么它不起作用,因为抛出的异常是这个

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '1 = 'sad', Type 1 = 'asd' WHERE ID = 'student1'' 附近使用正确的语法

4

1 回答 1

1

最后这奏效了。

          conn = connect();
          selectStatement = "UPDATE student SET `Item " + location + "` = ? , `Type " + location + "` = ? WHERE ID = ?";
          System.out.println(selectStatement);
          if(conn != null)
          {
               preparedStatement = conn.prepareStatement(selectStatement);       
               preparedStatement.setString(1, id);
               preparedStatement.setString(2, type);
               preparedStatement.setString(3, userId);
               preparedStatement.executeUpdate();        
               return true;
          }
于 2013-03-27T04:58:38.600 回答