gpt4 book ai didi

iphone - iPhone 上的 sqlite 在插入/更新时锁定整个数据库还是仅锁定特定表?

转载 作者:行者123 更新时间:2023-11-29 04:59:18 25 4
gpt4 key购买 nike

我已经阅读了一些教程并进行了一些搜索,但我一定错过了一些东西。过去几天,我的 iPhone 应用程序上的 sqlite 遇到了很多不同的问题。最常见的问题是当我在不同的表上同时执行插入操作时崩溃,而不是在同一个表上。

顺便说一下,我可以使用线程实现多次插入,所以我确信存在并发性。

那么数据库会锁定整个数据库还是只锁定我要插入信息的表?

我还在研究另一个可能导致崩溃的问题,但这一小条信息会有很大帮助。

最佳答案

经过进一步的测试,我可以肯定地说,只要在不同的表上,您就可以在数据库中同时执行多个插入。在同一个表上同时进行多次插入会引发错误。我之前遇到的崩溃似乎与以下事实有关:我在每个 View 上初始化+分配数据库,然后在每个 View 上释放它。仅在应用程序委托(delegate)上进行 init+alloc 之后,它解决了崩溃问题。尽管您可以在整个应用程序中拥有同一数据库的多个实例,但这似乎比在应用程序委托(delegate)中只拥有一个并在需要时访问它更好。这可能不完全正确,但这是我经过几个小时的搜索和测试后得出的结论。

我希望这对其他人有帮助。

关于iphone - iPhone 上的 sqlite 在插入/更新时锁定整个数据库还是仅锁定特定表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com