是否可以将一些行从一个表复制到另一个表以及rowid?

时间:2011-05-22 18:22:13

标签: sql sqlite data-migration

如果我输入:

INSERT INTO table_b 
SELECT rowid, somecolumn 
  FROM table_a 

... rowid列将作为普通列复制到新表中,这很可能会产生错误,因为列不匹配。

但有没有办法在我填充新表时将完全相同的rowid从旧表复制到新表?

我知道可以这样做:

INSERT INTO table_b 
  (rowid, othercolumn) 
  VALUES (334,  'sometext')

...但是需要逐行写入而不是一行sql命令。

2 个答案:

答案 0 :(得分:3)

您编写的第一个SQL是正确的,并将复制与列匹配的所有信息。 您也可以使用如下查询:

INSERT INTO table2( rowId, rowValue)

SELECT rowId, rowValue FROM table1

答案 1 :(得分:1)

你试过这个:

INSERT INTO table_b (target_name, target_name2)
  SELECT rowid, somecolumn 
  FROM table_a 

应该可以正常工作。但是我没有在sqlite上做过...