为了自动执行一个MySQL数据库的备份过程,我想比较两个表的结构(当前版本与旧版本)。
您能想到一个可以比较两个表的查询吗?
这是您可以比较的一些示例表。
CREATE TABLE product_today
(
pname VARCHAR(150),
price int,
PRIMARY KEY (pname)
);
CREATE TABLE product_yesterday
(
pname VARCHAR(150),
price int,
PRIMARY KEY (pname)
);
CREATE TABLE product_2days_back
(
pname VARCHAR(15),
price int,
PRIMARY KEY (pname)
);
前两个表具有相同的结构。最后一个是不同的。我只需要知道两个表是否具有不同的结构。我对它们之间的差异不感兴趣。
@ yagmoth555假设我的问题对于SF来说足够了,如果您想在这里输入类似的答案,我会接受。否则,我今天晚些时候会回答我自己的问题。
我不确定它是否适合那里,但是我会写一个答案,因为它无论如何都可以适合,因为无论如何它都可能是服务器管理员的问题:)就像,如果我愿意做一个表结构的转储,以及两者之间的grep,就很合适。我个人认为这是一条灰线
这不可能可靠地做到。并非所有软件版本之间的数据结构更改实际上都将自身表现为架构更改。只有应用程序的开发人员才知道确切的更改。如果开发人员尚未为您提供正式的迁移工具,则需要询问他们如何在特定版本的应用程序之间迁移。
—
卡巴斯德(Kasperd),2015年
我制作了一个免费工具,该工具将生成alter语句,以使第二个表与第一个表tablediff.com相同。仍然是alpha。
—
Mihai