我所做的每个SQLITE查询通常都可以正常运行,只是我似乎无法更新数据库。
db = sqlite3.connect("data.db")
cursor = db.cursor()
str_datetime = str(datetime.datetime.now())
cursor.execute("""UPDATE ads SET publish_end_datetime = ? WHERE ad_code = ?""", (str_datetime, 1411671200))
db.commit() # is this commit statement even necessary?
db.close()
我收到以下操作错误:
OperationalError跟踪(最近的呼叫 最后)在() 3 str_datetime = str(datetime.datetime.now()) 4 ----> 5 cursor.execute(“”“” UPDATE ads SET publish_end_datetime =?WHERE ad_code =“”“”,(str_datetime,1411671200)) 6 db.commit() 7 db.close()
OperationalError:数据库已锁定
答案 0 :(得分:0)
我想我已经找到问题了。 每当使用DB时,都会在同一位置创建一个database.db-journal文件。这是数据库正在使用的主要指标。 我还没有发现“使用”数据库的原因,但是我已经找到了解决问题的方法。看来OneDrive可能是问题所在。我将data.db复制到了OneDrive之上的桌面上,终于可以使更新语句起作用。
我希望它可以帮助其他人。