SQLite是否不存在线程安全?

时间:2019-01-27 05:55:09

标签: sqlite concurrency

如果列URL在SQLite上对其具有唯一约束并且并发执行,则会抛出约束违规错误吗?意味着两个或多个线程同时运行完全相同的插入。

insert into urls(url) 
select 'https://www.test.com' 
where not exists(select * from urls where url = 'https://www.test.com');

1 个答案:

答案 0 :(得分:0)

是的,即使遇到并发更新,SQLite也会正确地强制执行唯一约束。因此,在完全相同的时间执行这些事务之一可能会失败。