在SQL中,Select into ...
将行复制到不同的(备份)表中。如果备份表具有不同的结构(或不同的列名),这可能吗?如果没有,实现这一目标的最佳方法是什么?
以下是我要执行的操作:TableA
包含a1,a2,a3
列。我想将此表中的一些行复制到另一个具有列TableB
的表b1,b2,b3,b4
。进入a1
,b1
至a2
等的b2
内容
答案 0 :(得分:42)
列名称根本不重要,只要数据类型匹配。
如果列的数据类型不匹配,请尝试相应地转换值。 使用小型虚拟表尝试。请务必明确列出目标列以避免混淆。像这样:
INSERT INTO TableB (b1, b2, b3)
SELECT a1, a2, a3
FROM TableA
WHERE <some condition>;
SQLite手册here中的更多详细信息。