如果我输入:
INSERT INTO table_b
SELECT rowid, somecolumn
FROM table_a
... rowid列将作为普通列复制到新表中,这很可能会产生错误,因为列不匹配。
但有没有办法在我填充新表时将完全相同的rowid从旧表复制到新表?
我知道可以这样做:
INSERT INTO table_b
(rowid, othercolumn)
VALUES (334, 'sometext')
...但是需要逐行写入而不是一行sql命令。
答案 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上做过...