为了账号安全,请及时绑定邮箱和手机立即绑定

org.springframework.jdbc.BadSqlGrammarException:

org.springframework.jdbc.BadSqlGrammarException:

梵蒂冈之花 2021-09-03 17:32:04
我正在使用 Jdbc 模板将记录插入数据库。下面是导致错误的sql语句。INSERT INTO table_name(PDDID, APPLICATION_CODE, STATUS,CREATED_TS) VALUES ( ?,?,?,SYSTIMESTAMP)详细信息是:PreparedStatementCallback; bad SQL grammar [                    INSERT INTO table_name(PDDID, APPLICATION_CODE, STATUS,CREATED_TS) VALUES ( ?,?,?,SYSTIMESTAMP)        ]org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 错误的 SQL 语法 [INSERT INTO table_name (PDDID, APPLICATION_CODE, STATUS,CREATED_TS) VALUES (?,?,?,SYSTIMESTAMP)]; 嵌套异常是 java.sql.SQLSyntaxErrorException: ORA-00904: "PDDID": invalid identifier
查看完整描述

3 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

我认为您必须输入一个有效的列名,因为它要么丢失,要么输入的无效。当您在 select 语句中引用无效别名时,“无效标识符”最常见。Oracle 文档在 ORA-00904 错误中指出了这一点:

ORA-00904 字符串:无效标识符

原因:输入的列名丢失或无效。

输入有效的列名。有效的列名必须以字母开头,少于或等于 30 个字符,并且仅由字母数字字符和特殊字符 $、_ 和 # 组成。

如果它包含其他字符,则必须用双引号括起来。它可能不是保留字。为避免 ORA-00904,列名不能是保留字,并且必须包含以下四个条件才有效:

以字母开头 小于或等于 30 个字符仅由字母数字和特殊字符 ($_#) 组成;其他字符周围需要双引号。


查看完整回答
反对 回复 2021-09-03
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

尝试重命名您的 pddid 字段或使用 "pddid" ,它可能与 SQL pid 冲突。


查看完整回答
反对 回复 2021-09-03
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

检查列名“PDDID”是否正确。在用有效值替换 '?' 后,您可以尝试直接在数据库客户端上运行此语句。


查看完整回答
反对 回复 2021-09-03
  • 3 回答
  • 0 关注
  • 493 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信