org.springframework.jdbc.BadSqlGrammarException:

我正在使用 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


梵蒂冈之花
浏览 495回答 3
3回答

不负相思意

我认为您必须输入一个有效的列名,因为它要么丢失,要么输入的无效。当您在 select 语句中引用无效别名时,“无效标识符”最常见。Oracle 文档在 ORA-00904 错误中指出了这一点:ORA-00904 字符串:无效标识符原因:输入的列名丢失或无效。输入有效的列名。有效的列名必须以字母开头,少于或等于 30 个字符,并且仅由字母数字字符和特殊字符 $、_ 和 # 组成。如果它包含其他字符,则必须用双引号括起来。它可能不是保留字。为避免 ORA-00904,列名不能是保留字,并且必须包含以下四个条件才有效:以字母开头 小于或等于 30 个字符仅由字母数字和特殊字符 ($_#) 组成;其他字符周围需要双引号。

蝴蝶刀刀

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

慕盖茨4494581

检查列名“PDDID”是否正确。在用有效值替换 '?' 后,您可以尝试直接在数据库客户端上运行此语句。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java