假设我在表之间复制数据:
insert into table2 (name, address)
select name, address
from table1
这会在单个交易中执行吗?
即。我希望有一个线程将数据从table1复制到table2,另一个线程会对table2中的数据进行select
查询,同时复制它们。这可能吗?
我正在使用SQLite 3.7。
答案 0 :(得分:1)
该查询将是一个事务。如果您需要返回复制的行,它将在复制之前或之后,而不是在复制之前。这意味着您可以手动开始事务,在表1上执行选择,然后执行插入(或其他方式)并最终提交。在不同的线程上获取它意味着可能有一组不同的插入而不是选择,如果在中间插入某些内容(在许多情况下很少发生,但可能发生)。