Я нашел способ найти пропущенные таблицы между двумя базами данных и пропущенные столбцы из таблиц пересечения. Я могу получить «создать» синтаксис для отсутствующих таблиц, но как мне сгенерировать «изменить» синтаксис для отсутствующих столбцов?
Есть ли что-то вроде SHOW CREATE TABLE $table
для колонки?
@Редактировать
Я получил:
CREATE TABLE `table` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(225) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
от SHOW CREATE TABLE $table
-> Я выяснил, во второй таблице «таблица» отсутствует столбец «имя». Как мне «разобрать» (?) Это создание, чтобы сгенерировать изменение, чтобы добавить столбец «имя» в таблицу второй базы данных?
Если вы хотите отдельные столбцы, то используйте (измените пользователей на имя вашей таблицы)
show columns from users
Если это сделано на обеих таблицах, вы можете проверить различия. Это может включать необходимость изменять столбцы, если определение изменилось.
Чтобы добавить новый столбец, используйте что-то вроде
alter table users add column email varchar(255) after name
Бит после позволяет вам позиционировать новый столбец в том же месте, что и в другой таблице (он выглядит согласованным в инструментах запросов).
Других решений пока нет …