BLOB和VARBINARY类型的字段不能设置为NULL

简介: BLOB和VARBINARY类型的字段不能设置为NULL

这是因为在MySQL中,BLOB和VARBINARY类型的字段不能设置为NULL,但是它们可以包含空值。因此,在Otter同步过程中,如果源库中的BLOB或VARBINARY字段为空,则Otter会将其解析为NULL值,从而导致插入到目标库中失败。

为了解决这个问题,建议在配置文件中设置默认字符集和字符排序规则。例如,在配置文件的dataMediaPair中,添加以下内容:

{
    "source": {
        "namespace": "your_namespace",
        "name": "your_data_media_name",
        "properties": {
            "defaultCharset": "utf8",
            "defaultCollation": "utf8_general_ci"
        }
    },
    "target": {
        "namespace": "your_namespace",
        "name": "your_data_media_name",
        "properties": {
            "defaultCharset": "utf8",
            "defaultCollation": "utf8_general_ci"
        }
    }
}

这样,Otter在同步BLOB或VARBINARY字段时就会使用指定的字符集和排序规则,从而避免了空值被解析为NULL值的问题。

另外,如果你需要动态创建表来同步数据,可以考虑使用数据库中的存储过程或触发器来实现。具体实现方式可以根据具体需求进行调整。

目录
相关文章
|
4月前
|
SQL 数据库
MyBatisPlus-null判定及查询指定字段
MyBatisPlus-null判定及查询指定字段
246 0
|
4月前
|
存储 关系型数据库 MySQL
Flink CDC中mysql cdc 抽取这个时间字段的值为null 有什么好的解决方案吗 ?
Flink CDC中mysql cdc 抽取这个时间字段的值为null 有什么好的解决方案吗 ?
99 0
|
30天前
|
Java 数据库连接 mybatis
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
21 0
|
2月前
|
SQL Java 关系型数据库
JDBC PreparedStatement 字段值为null导致TBase带宽飙升的案例分析
JDBC PreparedStatement 字段值为null导致TBase带宽飙升的案例分析
49 0
|
4月前
|
关系型数据库 MySQL 开发者
MySQL 字段约束 null, not null, default, auto_increment
前言:转载,觉得有用就发了一遍 在 MySQL 中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束。 今天我们就来看一下 MySQL 的字段约束: NULL 和 NOT NULL 修饰符、DEFAULT 修饰符,AUTO_INCREMENT 修饰符。
120 0
|
5月前
|
关系型数据库 MySQL 数据库
Flink CDC中mysql 字段设置了默认值 ,然后插入数据时 指定该字段为null 会返回字段默认值 而不是null?
Flink CDC中mysql 字段设置了默认值 ,然后插入数据时 指定该字段为null 会返回字段默认值 而不是null?
154 2
|
6月前
EF框架 处理decimal字段 Sum() 遇到NULL时的特殊处理
EF框架 处理decimal字段 Sum() 遇到NULL时的特殊处理
19 0
|
2月前
|
机器学习/深度学习 SQL 关系型数据库
【MySQL进阶之路丨第十一篇】一文带你精通MySQL NULL值处理、正则表达式
【MySQL进阶之路丨第十一篇】一文带你精通MySQL NULL值处理、正则表达式
35 0
|
2月前
|
SQL 关系型数据库 MySQL
总结 vue3 的一些知识点:MySQL NULL 值处理
总结 vue3 的一些知识点:MySQL NULL 值处理
|
4月前
|
SQL 关系型数据库 MySQL
MySQL NULL 值处理
MySQL NULL 值处理