记录一次由MySQL切换国产数据OceanBase时,发生的一个奇怪的问题。

问题起因是这样的

在由mysql切换成oceanbase时,插入数据程序报错,但是查询数据库,数据已经正常保存,报错信息如下:

 

但奇怪的是数据已经保存进表中

起初怀疑是因为字段输入不全导致,仔细核对后发现并非该问题;把日志打印的sql复制 DBeaver 中执行,发现sql正常执行;回到系统页面测试查询,修改和删除功能,sql执行正常,观察后台打印的sql日志,对比插入报错的sql,发现插入的sql不包含自增主键,于是怀疑是这个原mysql自增主键问题,修改程序中插入sql逻辑,手动加入主键,程序没有报错,且插入正常。

最后解决办法,通过查阅官方给出的文档得知:

切换jdbc版本为:5.1.40,重启项目测试插入功能,插入正常

原文连接:

OceanBase 企业级分布式关系数据库

 希望对大家有所帮助。

更多推荐