解决ORA-01747:user.table.column,table.column或列说明无效
作者:某猿蚊常叮
这篇文章主要介绍了解决ORA-01747:user.table.column,table.column或列说明无效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
“ORA-01747: user.table.column, table.column 或列说明无效”
错误展示
springboot项目启动报错:“ORA-01747: user.table.column, table.column 或列说明无效” 的解决方案
错误原因分析
可能原因1:表的列名称使用了Oracle声明的关键字
可能原因2:SQL语句查询插入的列名的最后多了一个“,”
最终解决:
唉, 原来是批量插入多写了一个,
解决报错“ORA-01747: user.table.column, table.column 或列说明无效”
在工程中遇到“ORA-01747: user.table.column, table.column 或列说明无效”的报错情况,查了一下是由于数据库列名起的不好引起的,名字用到了数据库的关键字。
如果列很多,又不好确定是哪个列名使用了关键字,以下建议可供参考:
可以用以下方法定位
select * from v$reserved_words where keyword in( select COLUMN_NAME from all_tab_columns where table_name = '表名大写' and owner='用户名大写' );
我的数据库是Oracle.
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。