скопировать таблицу в другую и добавить столбец, который является именем таблицы источника - PullRequest
0 голосов
/ 27 октября 2019

Я хочу скопировать несколько таблиц с одинаковым префиксом в одну таблицу. Таблица назначения должна иметь в столбце больше, чем источник, то есть имя исходной таблицы.

Я пробовал это:

INSERT INTO `tbl_dest` (`nr`,`n1`,`n2`,`n3`,`n4`,`n5`,`table`) 
SELECT `a`.`nr`, `a`.`n1`, `a`.`n2`, `a`.`n3`, `a`.`n4`, `a`.`n5`, `b`.`table`  
FROM `tbl_src` `a`, `INFORMATION_SCHEMA.TABLES`.`TABLE_NAME` `b`

, но он не работает хорошо.
Практически в tbl_dest значение столбца table должно быть ' tbl_src ' для всех данных, происходящих из tbl_src

Есть идеи?

1 Ответ

1 голос
/ 27 октября 2019

Вы можете использовать константу:

INSERT INTO `tbl_dest` (`nr`,`n1`,`n2`,`n3`,`n4`,`n5`,`table`) 
    SELECT `a`.`nr`, `a`.`n1`, `a`.`n2`, `a`.`n3`, `a`.`n4`, `a`.`n5`,
       'tbl_src' 
    FROM tbl_src a;

Я бы также посоветовал вам отказаться от всех обратных галочек. Они просто затрудняют написание и чтение запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...