今天在项目插入数据库操作时,遇到了
java.sql.SQLException: ORA-01747: user.table.column, table.column 或列说明无效
这个错误。
搜索后发现是数据库表的列名用了ORCALE的关键字,查询下果然表中用了order和default两个关键字。
而我用的解决方法是,将关键字列名修改掉。
若要查询ORACLE的关键字,可用sql语句
select * from v$reserved_words;
但在PLSQL里直接对列名修改操作时又报:ora-00904:invalid identifer的错误,意思是没有这个列名,思考下估计是直接操作关键字列名会有冲突。
我的解决的方法是:直接对表进行删除重建(比较死板,有更好的方法欢迎来踩)。