是否有SQL查询将表A中的列名插入表B中的行?
答案 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)