28

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

这是我想要做的:TableA有列a1,a2,a3。我想将此表中的一些行复制到另一个TableB具有 column 的表中b1,b2,b3,b4a1to go into b1, a2tob2等的内容

4

1 回答 1

58

只要数据类型匹配(或者可以在赋值中强制转换),列名根本不重要。

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

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

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

于 2012-05-12T01:45:28.673 回答