You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无空格分隔占位符与WHERE关键字的JDBC SQL查询能否正常执行?

JDBC中SQL拼接无空格是否能正常执行?

不行,这种写法会触发SQL语法错误,必须调整才能正常运行。

你现在的代码拼接后,实际生成的SQL是这样的:

UPDATE SOME_TABLE SET MY_NAME=?,MY_FILE=?WHERE MY_ID = ?

这里的?WHERE是问题核心——SQL解析器没法把它拆成占位符?和关键字WHERE,会直接判定语法非法,执行时抛出异常。

不用逐个修改的话,最简单的办法是把拼接的WHERE子句字符串开头加个空格,比如改成" WHERE MY_ID = ?",这样拼接后就会生成正确的SQL:

UPDATE SOME_TABLE SET MY_NAME=?,MY_FILE=? WHERE MY_ID = ?

如果多处都有这类问题,建议统一规范SQL字符串拼接的习惯:后续子句(比如WHERE、AND、OR这些)的拼接字符串开头都带空格,从根源避免这类低级错误。

内容的提问来源于stack exchange,提问作者rudraksha raikar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 15:53:09