SQL更新语句 - 尝试更新整个表错误

时间:2013-03-29 17:40:09

标签: java sql derby

我正在使用Derby数据库,而我正在尝试更新其中一个表中的每一列。

我正在使用以下声明:

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 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:4)

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

答案 2 :(得分:2)

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 = ?";