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

相关推荐
数据工匠老o2 小时前
一张 5 亿行的表按月分区后,清理历史数据从几小时变成了几秒
数据库·sql
hwscom3 小时前
几分钟开防护,SQL和XSS注入全被护卫神挡住
数据库·sql·xss
石小千3 小时前
Redis开启ACL认证
数据库·redis·缓存
东风微鸣3 小时前
把 Tailscale 接进 Prometheus 监控
java·数据库·prometheus
wno7043 小时前
MYSQL 常用合并函数
android·数据库·mysql
东风微鸣3 小时前
一次断电引发的血案:Ubuntu 26.04 升级中断后的完整救援实录
数据库·ubuntu·postgresql
大侠归来3 小时前
事务能回滚吗?Pipeline 算事务吗?
java·数据库·oracle
临床数据科学和人工智能兴趣组3 小时前
字符串转换为句子风格
大数据·数据库·人工智能·r语言·r语言-4.2.1
夕除3 小时前
PostgreSQL基础
数据库·oracle
zyseo84 小时前
谷歌SEO 站点地图优化实战:sitemap 是索引候选清单的运营工具
网络·数据库·经验分享·笔记·搜索引擎