比较2数据库

时间:2010-05-16 05:11:58

标签: mysql database-comparison

我有2个相同的数据库。 abc15和abc18。但是其中一个数据库有一个额外的表,我需要找到它。我认为以下查询应该返回它,但是它没有显示我期望的记录。

select * from information_schema.tables as a
    left join information_schema.tables as b
        on a.TABLE_SCHEMA=b.TABLE_SCHEMA AND a.TABLE_NAME=b.TABLE_NAME
    where a.TABLE_SCHEMA = 'abc15' AND b.TABLE_SCHEMA='abc18' and
        b.TABLE_NAME IS NULL

2 个答案:

答案 0 :(得分:3)

如果数据库b有额外的表怎么办?在末尾尝试完整的外连接和额外的约束(OR a.TABLE_NAME IS NULL)

答案 1 :(得分:1)

$ mysqldumpslow --database abc15 >/tmp/a
$ mysqldumpslow --database abc18 >/tmp/b
$ diff /tmp/a /tmp/b