sqlite3 database is locked误打误撞解决 学习记录
前言
作为一个超级菜鸟,在遇到这个问题时查阅的资料都让我感到n脸懵逼啊,不知道有没有童鞋有跟我一样的困惑,我知道我的问题应该跟大佬们遇到的不太一样,所以我用一个超简单的办法就搞定了(应该只适用小部分情况吧)
一、遇到问题的过程
一个函数如下用于向数据库添加数据,数据内容不重要,代码如下:
def data_create(file):
conn = sqlite3.connect(file)
cur = conn.cursor()
k = 1
for i in range(k):
s = (random.randint(0, 1),random.randint(0, 1),random.randint(0, 1),
random.randint(0, 1),random.randint(0, 1),random.randint(0, 1),
random.randint(0, 1),random.randint(0, 1))
cur.execute("insert into seats(occupation) values('%s,%s,%s,%s,%s,%s,%s,%s')"%s)
conn.commit()
seat = cur.fetchall()
cur.close()
conn.close()
return seat
输出结果正常
在这里插入图片显示效果
然后我继续运行一次
还是可以正常运行
因为尝试了十几次我发现k=1运行都没有问题,此时我决定让k = 100
然后我发现无论让k=多少都可以运行且不会报错,此时我拥有了好多数据
然后我看第539条数据0太多了不太爽
直接在DB Browser内修改了一下
很顺畅
然后我继续用自动添加数据,k值没有改变
运行发现控制台中等待的时间变长了,而且这次没有成功
我本以为是k值过大,后来发现k = 1还是会出现一模一样的错误,由此陷入了疯狂查找解决方案,结果面对堆栈…一头雾水
(真没学过
二、解决方案
1.关闭DB Browser
这是我在查找了一堆又一堆我看不懂的方法后尝试的无奈之举
结果真的可以…太离谱了
2.查到的资料
总结
感觉遇到了很离谱的事情,将其作为我在csdn第一次的学习记录,希望不小心看到此篇的大佬能够指点迷津!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgakbkk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13