社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

sqlite commit不使用python保存更新更改?

tjohn106 • 4 年前 • 845 次点击  

说明

我已经在python3中使用sqlite构建了一个数据库。到目前为止,我对提交保存更改(使用插入命令和删除命令)没有任何问题。但是,我正在尝试使用update命令,但无法保存更改(尽管调用commit(),但它只更改工作内存中的DB)。

Find null values from table and replace it with space - sqlite .

细节

下面是我要执行的当前代码:

self.cursor.execute(f'UPDATE {tbl_name} SET {col_name} = IFNULL({col_name}, "")')
self.conn.commit()

注意,self的定义如下:

Database.conn = sqlite3.connect(self.location + self.name)
Database.cursor = sqlite3.connect(self.location + self.name).cursor()

如前所述,此操作正确;但是,它不会将更改提交到实际数据库。这由用于sqlite的DB browser验证,并在关闭时再次拉取数据并重新执行。

我还将注意到,如果我关闭此程序并重新初始化以再次运行它,它将出错,因为尽管最后一行代码是:

Database.conn.commit() # Save (commit) the changes
Database.conn.close() # Close database

结论

提前感谢,因为我一直在用这个打我的头靠墙,还没有找到像这样的问题在其他地方!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53932
 
845 次点击  
文章 [ 1 ]  |  最新文章 4 年前