SQL将列名称作为数据插入

时间:2011-04-06 13:54:43

标签: sql database

是否有SQL查询将表A中的列名插入表B中的行?

4 个答案:

答案 0 :(得分:6)

由于列名基本上是字符串,是的,您可以将它们插入到其他表中。

问题的更难(和暗示)部分是“如何获取给定表的列列表”,该问题的答案取决于您使用的数据库。

另外,根据我的经验,将数据库元数据存储到数据库中可能表明存在设计问题。

答案 1 :(得分:2)

(使用INFORMATION_SCHEMA尝试获得最大可移植性)

INSERT INTO B
SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='A' AND TABLE_SCHEMA='FOO'

答案 2 :(得分:2)

    INSERT INTO B    
    SELECT COLUMN_NAME
    FROM INFORMATION_SCHEMA.Columns
    WHERE TABLE_NAME = 'A'

应该有用......

答案 3 :(得分:1)

可能会有所不同,具体取决于您的实际软件,但对于MySQL,这应该有效:

 INSERT INTO table_b (col_name)
     SELECT Field FROM (DESCRIBE table_a)