【踩坑】Python3操作Sqlite3报错
前言
报错
- 报错:
sqlite3.OperationalError: unrecognized token: ""
原因
- INSERT语句中新增字符串数据没有加单引号
解决问题
- INSERT语句中新增字符串数据加单引号
1 | cur.execute("INSERT INTO 数据表名 VALUES('字符串')") |
报错
- 报错:
sqlite3.OperationalError: database is locked
原因
- Sqlite只支持单线程操作,所以不能多个程序同时操作一个
.db文件 - 如果没有用多个程序操作一个
.db文件,可能是忘记关闭数据库连接了
解决问题
- 如果是多个程序操作了同一个
.db文件,可能是被其他程序抢占了,可以等待其他程序操作结束再用Python3操作Sqlite3;如果不是多个程序操作了同一个.db文件,可能是忘记关闭数据库连接了,应当记得使用结束后关闭连接
1 | # 关闭游标 |