DataWorks数据集成写入mysql,选择update写入模式,能不能只更新有数据的字段,空的数据不更新库里的值?
现在不行。
实时读
不支持同步MySQL只读库实例的数据。
不支持同步含有Functional index的表。
不支持XA ROLLBACK。
针对已经XA PREPARE的事务数据,实时同步会将其同步到目标端,如果XA ROLLBACK,实时同步不会针对XA PREPARE的数据做回滚写入的操作。若要处理XA ROLLBACK场景,需要手动将XA ROLLBACK的表从实时同步任务中移除,再添加表后重新进行同步。
仅支持同步MySQL服务器Binlog配置格式为ROW。
实时同步不会同步被级联删除的关联表记录。
在DataWorks数据集成中,选择update写入模式时,默认情况下会更新所有字段的值。如果您只想更新有数据的字段,空的数据不更新库里的值,可以通过以下步骤实现:
对于需要只更新有数据的字段的情况,您可以使用DataWorks提供的SQL语句模板功能来编写自定义的UPDATE语句。例如,假设您要将源表的field1
和field2
两个字段的值更新到目标表的target_field1
和target_field2
两个字段上,并且只有当这两个字段的值不为空时才进行更新操作,您可以编写如下的UPDATE语句:
UPDATE target_table SET target_field1 = IF(source_field1 IS NOT NULL, source_field1, target_field1), target_field2 = IF(source_field2 IS NOT NULL, source_field2, target_field2) WHERE some_condition;
其中,some_condition
是用于筛选需要更新的目标记录的条件。
通过以上步骤,您可以实现在DataWorks数据集成中选择update写入模式时只更新有数据的字段,空的数据不更新库里的值的需求。
目前只能是新行替换哈
https://help.aliyun.com/zh/dataworks/user-guide/mysql-data-source?spm=a2c4g.11186623.0.i1#task-2305296 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
在DataWorks数据集成写入MySQL时,选择update写入模式,可以只更新有数据的字段,空的数据不更新库里的值。
具体操作步骤如下:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。