当同步对象为整个库,且库中的触发器(TRIGGER)会更新库内某个表时,可能导致源和目标库的数据不一致。本文介绍触发器存在情况下如何配置同步作业。
案例介绍
数据库triggertestdata中存在了两个表:parent和child。其中,表parent中有一个触发器(定义:当INSERT一条数据到表parent之后,将其INSERT写入的数据写入一份至表child中)。
说明 表结构及触发器定义如下表所示。
对象类型 | 名称 | 结构语句 |
---|---|---|
表 | parent |
|
表 | child |
|
触发器 | data_check |
|
在此案例中,如果在数据同步时,在源库的表parent中执行了INSERT操作,将导致源和目标库中的表child数据不一致。为解决该问题,需要删除被迁移到目标库中的触发器。
操作步骤
本文以自建MySQL同步至RDS MySQL为例介绍配置流程,更多配置案例请参见DTS数据同步方案概览。