Преобразование многих таблиц в одну таблицу MySQL базы данных
У меня есть база данных mysql с сотнями таблиц. Я хочу преобразовать это в одну таблицу, где имя таблицы будет добавлено в записи, что означает, что для каждой строки / данных в конкретной таблице я добавлю новое поле, где в этом новом поле значение будет имя таблицы Есть ли способ сделать это автоматически, вместо того, чтобы создавать новое поле в каждой таблице и вставлять имя таблицы вручную, это займет год. Запись, которую я имею на этой базе данных, составляет около 400000 записей. Может ли mysqldump с помощью скрипта сделать это? или любым другим способом?
1 ответ
Мое предложение заключается в создании синтаксиса в форме:
create table xxx as
select t.*, 'table1' as TableName from table1 t union all
select t.*, 'table2' as TableName from table2 t union all
. . .
Вы можете создать операторы выбора, используя:
select concat('select t.*, ''', Table_Name, ''' as TableName from ', Table_Name, ' union all '
from Information_Schema.Tables
Затем вы можете положить create table
линия впереди и удалить финал union all
,