我正在使用 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 个字符仅由字母数字和特殊字符 ($_#) 组成;其他字符周围需要双引号。
添加回答
举报
0/150
提交
取消