在SQLite3中的表之间复制数据

时间:2010-12-22 16:23:58

标签: sql sqlite

假设我在表之间复制数据:

 insert into table2 (name, address)
 select name, address
 from table1

这会在单个交易中执行吗?

即。我希望有一个线程将数据从table1复制到table2,另一个线程会对table2中的数据进行select查询,同时复制它们。这可能吗?

我正在使用SQLite 3.7。

1 个答案:

答案 0 :(得分:1)

该查询将是一个事务。如果您需要返回复制的行,它将在复制之前或之后,而不是在复制之前。这意味着您可以手动开始事务,在表1上执行选择,然后执行插入(或其他方式)并最终提交。在不同的线程上获取它意味着可能有一组不同的插入而不是选择,如果在中间插入某些内容(在许多情况下很少发生,但可能发生)。