SQL Вставить имена столбцов в качестве данных - PullRequest
1 голос
/ 06 апреля 2011

Существует ли SQL-запрос для вставки имен столбцов из таблицы A в строки таблицы B?

Ответы [ 4 ]

6 голосов
/ 06 апреля 2011

Поскольку имена столбцов по сути являются строками, да, вы можете вставить их в другие таблицы.

Более сложная (и подразумеваемая) часть вопроса: «Как получить список столбцов для данногоtable ", и ответ на этот вопрос зависит от базы данных, которую вы используете.

Кроме того, по моему опыту, сохранение метаданных базы данных в вашей базе данных может свидетельствовать о проблемах проектирования.

2 голосов
/ 06 апреля 2011
    INSERT INTO B    
    SELECT COLUMN_NAME
    FROM INFORMATION_SCHEMA.Columns
    WHERE TABLE_NAME = 'A'

должно работать ...

2 голосов
/ 06 апреля 2011

(использование INFORMATION_SCHEMA для попытки максимальной переносимости)

INSERT INTO B
SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='A' AND TABLE_SCHEMA='FOO'
1 голос
/ 06 апреля 2011

Может отличаться в зависимости от вашего реального программного обеспечения, но для MySQL это должно работать:

 INSERT INTO table_b (col_name)
     SELECT Field FROM (DESCRIBE table_a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...