我正在使用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.
答案 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 = ?";