开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks数据集成写入mysql,选择update写入模式,能不能只更新有数据的字段?

DataWorks数据集成写入mysql,选择update写入模式,能不能只更新有数据的字段,空的数据不更新库里的值?

展开
收起
真的很搞笑 2023-12-03 17:25:53 98 0
4 条回答
写回答
取消 提交回答
  • 现在不行。

    使用限制https://help.aliyun.com/zh/dataworks/user-guide/mysql-data-source?spm=a2c6h.13066369.question.7.79173dc4tbFSTj#task-2305296

    实时读
    不支持同步MySQL只读库实例的数据。

    不支持同步含有Functional index的表。

    不支持XA ROLLBACK。

    针对已经XA PREPARE的事务数据,实时同步会将其同步到目标端,如果XA ROLLBACK,实时同步不会针对XA PREPARE的数据做回滚写入的操作。若要处理XA ROLLBACK场景,需要手动将XA ROLLBACK的表从实时同步任务中移除,再添加表后重新进行同步。

    仅支持同步MySQL服务器Binlog配置格式为ROW。

    实时同步不会同步被级联删除的关联表记录。

    2023-12-05 13:41:19
    赞同 展开评论 打赏
  • 在DataWorks数据集成中,选择update写入模式时,默认情况下会更新所有字段的值。如果您只想更新有数据的字段,空的数据不更新库里的值,可以通过以下步骤实现:

    1. 在数据集成任务的编辑页面中,找到要配置的MySQL源表和目标表。
    2. 在目标表的配置页面中,找到“写入模式”选项,将其设置为“update”。
    3. 在“字段映射”选项卡中,将源表的每个字段映射到目标表的相应字段上。
    4. 对于需要只更新有数据的字段的情况,您可以使用DataWorks提供的SQL语句模板功能来编写自定义的UPDATE语句。例如,假设您要将源表的field1field2两个字段的值更新到目标表的target_field1target_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是用于筛选需要更新的目标记录的条件。

    5. 将上述SQL语句复制到DataWorks数据集成任务的SQL语句编辑框中,并保存配置即可。

    通过以上步骤,您可以实现在DataWorks数据集成中选择update写入模式时只更新有数据的字段,空的数据不更新库里的值的需求。

    2023-12-04 17:42:21
    赞同 展开评论 打赏
  • 目前只能是新行替换哈 image.png
    https://help.aliyun.com/zh/dataworks/user-guide/mysql-data-source?spm=a2c4g.11186623.0.i1#task-2305296 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-12-03 23:38:28
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在DataWorks数据集成写入MySQL时,选择update写入模式,可以只更新有数据的字段,空的数据不更新库里的值。

    具体操作步骤如下:

    1. 在DataWorks中创建数据集成任务,选择MySQL作为目标数据库。
    2. 配置源数据和目标表的映射关系,确保字段类型和长度匹配。
    3. 在数据集成任务的SQL语句中,使用update语句进行数据更新。可以使用条件语句来指定需要更新的字段和值。例如,可以使用CASE语句来判断字段是否为空,如果为空则不更新该字段的值。
    4. 执行数据集成任务,将数据从源数据库同步到目标数据库。
    2023-12-03 17:50:10
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    搭建电商项目架构连接MySQL 立即下载
    搭建4层电商项目架构,实战连接MySQL 立即下载
    PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

    相关镜像