【踩坑】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
2
3
4
# 关闭游标
cur.close()
# 关闭连接
conn.close()

完成

参考文献

CSDN——heihuifeng
CSDN——小仙女的小跟班_fairy