【发布时间】:2026-02-12 14:25:25
【问题描述】:
我在客户餐桌上的列
cusid cusname cusadress paidamount email
cus123 damidu kegalle 45 adfff
这是我的 Java 查询
String query = "UPDATE `customer` SET `cusname`='"+jTextField_name.getText()+"',`cusadress`='"+jTextField_adress.getText()+"',`paidamount`='"+jTextField_amount.getText()+"',`email`="+jTextField_emailuser.getText()+" WHERE `cusid` = "+jTextField_id.getText();
executeSQlQuery(query, "Updated");
错误
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'cus123' in 'where clause'
是什么原因导致这次更新不起作用,但插入和删除语句起作用?
【问题讨论】:
-
1) 可能的 SQL 注入 2) 使用参数绑定而不是连接 SQL 字符串 3)
cus123!='cus123' -
使用preparedStatement
-
这样的查询是一团糟。尝试使用preparedStatement。
-
@LucianovanderVeekens 抱歉,也许是我,因为 Alex 似乎也做过同样的事情 但是 看起来
WHERE cusid =更改为WHERE ``cusid`` =- 也许反引号只是最初没有出现 - 如果是这样,请接受我的道歉 -
@ScaryWombat 有用的说明:在查看进行诸如将非代码更改为代码之类的编辑时,在并排标记中查看编辑通常更有用,因为这只会突出缩进和将其余文本显示为相同。