mysql数据库切换成kingbase(人大金仓)数据库时遇到的字段不存在问题

一、问题描述

mysql数据库切换成国产数据库人大金仓(kingbase)数据库的遇到的字段不存在的问题,根本原因其实是没有找到相对应的表,报错示例如下图所示:

二、问题解决

1、如果所有的表都发生上述的错误,kingbase的表在xml里面写sql的时候需要带上空间名的前缀,比如public.tableName,不然的话会找不到相应的表,当然了可以直接对kingbase的数据库做统一处理,处理步骤如下:
第一步更改数据库的配置

java 复制代码
ALTER DATABASE 数据库名 SET search_path to "$user", public, sys, sys_catalog, pg_catalog;

第二步重载配置文件

java 复制代码
select sys_reload_conf(); 

第三步可以看下是否生效

java 复制代码
show search_path;

2、如果你的项目中有user表,并且其它表正常,只有user表发生这样的错误,原因是,kingbase中user是一个关键字,你的表名和关键字冲突了,解决方法如下:
方法一: sql中user表加双引号,即:user修改成"user"
方法二: sql中user表前面加上空间名,即:user修改成public.user

相关推荐
生戎马 平安京策4 分钟前
SQL Transcation的一些总结
数据库·sql·oracle
吃饱了得干活8 分钟前
向量数据库 Milvus:从零搭建 RAG 向量数据库实战
数据库·langchain·agent
2601_9557596234 分钟前
企业 Claude API 用量峰值管理实战
数据库
runningshark1 小时前
DeepSeek V4 Flash 0423 实效评测与能力全景
大数据·数据库
憧憬成为原神糕手2 小时前
Playwright、Selenium、DrissionPage 与 JSON 接口怎么选?
数据库·selenium·json
long3162 小时前
04-MySQL 扩展学习资料
数据库·mysql·adb
Zldaisy3d2 小时前
连续纤维增材制造的机翼已飞上天,复材打印在低空飞行器上还需翻过几道坎?
java·前端·数据库
倔强的石头_3 小时前
连接池参数治理-HikariCP怎么配才稳
数据库
wWYy.3 小时前
Mysql:二级索引
数据库·mysql
jnrjian3 小时前
PG 导出表为excel iconv 乱码
数据库·postgresql