文档首页/
数据治理中心 DataArts Studio/
常见问题/
数据集成(实时作业)/
GaussDB到DWS实时同步中,开启逻辑删除时写入DWS报错,错误信息包含“null value in column "xxx" violates not-null constraint”怎么办?
更新时间:2025-08-05 GMT+08:00
GaussDB到DWS实时同步中,开启逻辑删除时写入DWS报错,错误信息包含“null value in column "xxx" violates not-null constraint”怎么办?
问题描述
运行GaussDB到DWS的实时同步作业时,目的端高级属性配置中打开逻辑删除开关:logical.delete.enabled -> true。目的端表存在非主键not null字段时,源端执行删除数据操作,作业报错:null value in column "xxx" violates not-null constraint。
原因分析
逻辑删除功能实际上会将delete SQL语句调整为update SQL语句,并且仅更新删除标记列的值,以避免向目的端更新非预期的值。尽管已指定需要更新的列,DWS仍会先判断非主键not null字段是否有从源端同步的非空值。
解决方案
修改目的端非主键not null的字段类型为 null,或者在 not null 的基础上添加默认值 default。
其他注意事项:逻辑删除功能不适用于目的端无主键表的场景。
父主题: 数据集成(实时作业)