MySQL迁移达梦数据库避坑

实体类字段receiver定义为String类型

MySQL中为blob类型,迁移到dm8同样为blob类型。

但是使用dm8数据库执行查询列表方法时,语法冲突

出现-6105: 第1 行附近出现错误: 

 LambdaQueryWrapper<PfMessageReal> query = new LambdaQueryWrapper<PfMessageReal>()
                    .eq(PfMessageReal::getBusinessType,businessType)
                    .eq(PfMessageReal::getReceiver,pfUser.getAccount());
       List<PfMessageReal> messageReal = this.baseMapper.selectList(query);
       

原因:

在Mysql中blob可以使用String类型当作查询条件

SELECT id FROM message WHERE receiver = #{receiver}

但是在dm8中不可以用String类型的查询条件进行查询,需要转换类型

SELECT ID FROM MESSAGE WHERE dbms_lob.substr(RECEIVER) = #{receiver}

dbms_lob.substr函数是Oracle数据库提供的一个函数,用于从LOB(Large Object)类型的列中截取子字符串。在这个查询语句中,它被用来处理RECEIVER列的值,将其转化为可比较的字符串形式,然后与给定的#{receiver}值进行比较。

未待完续。。。

相关推荐

  1. MySQL迁移数据库

    2024-06-06 16:28:08       35 阅读
  2. mysql迁移数据库

    2024-06-06 16:28:08       53 阅读
  3. Mysql迁移数据库-简介篇

    2024-06-06 16:28:08       23 阅读
  4. 数据库DM8-mysql迁移后字符串长度问题

    2024-06-06 16:28:08       21 阅读
  5. Mysql迁移所遇问题汇总

    2024-06-06 16:28:08       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 16:28:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 16:28:08       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 16:28:08       82 阅读
  4. Python语言-面向对象

    2024-06-06 16:28:08       91 阅读

热门阅读

  1. 二叉树的中序遍历-力扣

    2024-06-06 16:28:08       28 阅读
  2. 二叉树的前序遍历-力扣

    2024-06-06 16:28:08       29 阅读
  3. mysql数据备份和还原知识点

    2024-06-06 16:28:08       33 阅读
  4. WPF 按键图标转动效果示例

    2024-06-06 16:28:08       24 阅读
  5. 【归档】git使用

    2024-06-06 16:28:08       28 阅读
  6. 【源码】SpringBoot事务注册原理

    2024-06-06 16:28:08       25 阅读