有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java SQL update语句试图更新整个表时出错

我正在使用一个Derby db,并试图更新我的一个表中的每一列

我使用以下语句:

String stmt = "UPDATE APP.DATAVAULT SET DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ? WHERE DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ?";

我以前使用以下语句进行过更新:

String stmt = "UPDATE APP.PERSON SET PSNAME = ? WHERE PID = ?";

是否有更简单的方法更新整个表?如果不是,那么我在这句话中犯了什么错误,因为我一直收到以下错误:

Syntax error: Encountered "," at line 1, column 137.

共 (3) 个答案

  1. # 1 楼答案

    WHERE子句中的逗号应为ANDs

    String stmt = "UPDATE APP.DATAVAULT SET DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ? WHERE DID = ? AND DTITLE = ? AND DUNAME = ? AND DPASS = ? AND DSANSWER = ? AND DPIN = ? AND DURL = ? AND DNOTES = ? AND PID = ?";

  2. # 2 楼答案

    这个

    WHERE DID = ?, DTITLE = ?, DUNAME = ?, DPASS = ?, DSANSWER = ?, DPIN = ?, DURL = ?, DNOTES = ?, PID = ?
    

    应该是这个吗

    WHERE DID = ? AND DTITLE = ? AND DUNAME = ? AND DPASS = ? AND DSANSWER = ? AND DPIN = ? AND DURL = ? AND DNOTES = ? AND PID = ?
    

    因此,将,替换为AND

  3. # 3 楼答案

    应使用AND而不是逗号(,)添加多个子句。它必须是WHERE DID = ? AND DTITLE = ? AND...