问题描述:
\quad 项目上需要使用人大金仓的数据库进行开发,过程中碰到一个奇怪的问题,使用datagrip添加自定义驱动后,连接人大金仓的数据库,修改数据报错列 t 不存在,但是表中没有列 t,之后插入同样的数据没问题,排除数据的原因,然后开始分析sql,发现自己写的update语句可以正常执行,但是使用工具直接修改数据会报错如下:
[42703] ERROR: column “t” of relation “table” does not exist Position: 30
翻看datagrip生成的sql::
UPDATE “public”.table t SET t.pk= ‘modifyData’ WHERE t.pk LIKE ‘condition’ ESCAPE ‘#’
再看看人大金仓自带的客户端生成的sql:
UPDATE “public”.table SET pk = ‘modifyData’ WHERE pk LIKE ‘condition’ ESCAPE ‘#’
很明显下面的sql没有别名,通过测试发现人大金仓数据库查询使用别名没问题,修改的话使用别名会报错,但是没有从官网找到具体说明,因此不确定是否是其他问题导致的
连接方式
1.添加->driver
2.选择User Driver -> 点击右侧+号选择Custom JARs ->选择到下载的驱动jar
3.选择完后修改Name为Kb 保存 ok
4.file->new->data Source -> kb ->输入ip host 密码等连接数据库即可
驱动jar包: kingbase8-8.6.0.jar
\quad