如何从数据库层面检测两表内容的一致性
发布网友
发布时间:2022-04-08 07:12
我来回答
共1个回答
热心网友
时间:2022-04-08 08:41
用减法来归零。
由于MySQL 没有提供减法操作符,这里我们换做PostgreSQL来检测。
t_girl=# select count(*) from (select * from t1_old except select * from t1_new) as T;
count
-------
0
(1 row)
Time: 1.809 ms
这里检测出来结果是0,那么证明两表的内容一致。 那么我们可以针对第一种方法提到的另外一种情况做检测:
t_girl=# select count(*) from (select * from t1_old1 except select * from t1_new1) as T;
count
-------
1
(1 row)
Time: 9.837 ms
OK,这里检测出来结果不对,那么就直接给出不一致的结论。