在进行AWS DMS迁移任务时,有时候会出现源端显示错误的行数问题。这可能由于源端数据表中的重复记录或空值引起的。
解决这个问题的办法是,通过修改AWS DMS任务的源端和目标端数据表,将重复记录或者空值删除。具体的代码示例如下:
--在源端数据库上找到包含重复记录的数据表并删除重复记录 DELETE FROM table_name WHERE column_name1 IN ( SELECT column_name1 FROM table_name GROUP BY column_name1 HAVING COUNT() > 1 ) AND column_name2 IN ( SELECT column_name2 FROM table_name GROUP BY column_name2 HAVING COUNT() > 1 );
--在源端数据库上找到包含空值的数据表并删除空值 DELETE FROM table_name WHERE column_name IS NULL;
--在目标端数据库上找到包含重复记录的数据表并删除重复记录 DELETE FROM table_name WHERE column_name1 IN ( SELECT column_name1 FROM table_name GROUP BY column_name1 HAVING COUNT() > 1 ) AND column_name2 IN ( SELECT column_name2 FROM table_name GROUP BY column_name2 HAVING COUNT() > 1 );
--在目标端数据库上找到包含空值的数据表并删除空值 DELETE FROM table_name WHERE column_name IS NULL;
在进行AWS DMS迁移任务时,如果源端数据表中出现了重复记录或空值,就可以通过上述示例代码来进行处理,避免出现错误的行数显示问题。