java - 批量更新异常 : Unknown column in where clause

标签 java mysql sql

写入 mySQL 数据库时,出现以下错误:

java.sql.BatchUpdateException: Unknown column 'ALFA' in 'where clause'

这是我的java代码:

public void pushWinner(String game, String teamW) throws SQLException{   
    String[] t1 = game.split("-");
    String statement = "update games set winner=(?) where team1 = "+t1[0]+" AND team2 = "+t1[1];
    try (PreparedStatement pstmt = conn.prepareStatement(statement)) {                 
            pstmt.setString(1, teamW);
            pstmt.addBatch();
        pstmt.executeBatch();
        pstmt.close();
    } catch (SQLException ex) {
        System.out.println(ex);
    }
}

我真的看不出 where 子句有什么问题...

编辑

看我的评论,忘了说“ALFA”是什么。

team1 和 team2 的数据类型都是 VARCHAR(45)。

最佳答案

试试这个:因为 column team1team2 的数据类型是 VARCHAR所以用单引号来比较。

 queryString= "update games set winner=(?) where team1 = '"+t1[0]+"' AND team2 = '"+t1[1]+"'";

关于java - 批量更新异常 : Unknown column in where clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26064864/

相关文章:

java - 是否有像 vb.net 的 Do Until Loop 这样的 Java 内置结构?

java - 使用 SimpleDateFormat 格式化日期时抛出 ClassCastException

java - 第三级倒逗号(没有得到正确的标题)

mysql - 如何知道 float 中小数点右边的位数?

mysql - 数据库结构关系

mysql - 直接从 iPad 应用程序连接到 MySQL(不通过 PHP 等)

mysql - 导入MySQL中的csv

java - 如何在Java中循环一个简单的程序?

mysql - SQL查询返回所有没有特定值的id

php - 使用 DB::raw 和 Eloquent 使用相同查询的不同结果