选择具有不同列名的表

时间:2012-05-12 01:42:48

标签: sql sqlite sql-insert

在SQL中,Select into ...将行复制到不同的(备份)表中。如果备份表具有不同的结构(或不同的列名),这可能吗?如果没有,实现这一目标的最佳方法是什么?

以下是我要执行的操作:TableA包含a1,a2,a3列。我想将此表中的一些行复制到另一个具有列TableB的表b1,b2,b3,b4。进入a1b1a2等的b2内容

1 个答案:

答案 0 :(得分:42)

列名称根本不重要,只要数据类型匹配。

如果列的数据类型不匹配,请尝试相应地转换值。 使用小型虚拟表尝试。请务必明确列出目标列以避免混淆。像这样:

INSERT INTO TableB (b1, b2, b3)
SELECT a1, a2, a3
FROM   TableA
WHERE <some condition>;

SQLite手册here中的更多详细信息。