我有两个 mysql 转储文件。
dump1.sql
CREATE TABLE `designs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`active` tinyint(1) NOT NULL,
`template` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
dump2.sql
CREATE TABLE `designs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`act` tinyint(1) NOT NULL,
`temp` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
如何找出dump1和dump2中两个表结构的不同点?
最佳答案
第二个查询选择 table1 的所有 COLUMN_NAME 并通过使用 NOT IN 我们比较两个表的 COLUMN :-
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_schema' AND
TABLE_NAME = 'table2' AND
COLUMN_NAME NOT IN (
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_schema' AND
TABLE_NAME = 'table1');
关于php - 如何使用php比较文件中的两个mysql表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33361169/