博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python中用MySqlDb执行sql语句无效的解决过程
阅读量:7140 次
发布时间:2019-06-29

本文共 565 字,大约阅读时间需要 1 分钟。

写了一个Linux下用crontab每天自动执行的python脚本,要执行一句修改数据表的sql,大致如下:

sql = "UPDATE table SET depart='bbb' WHERE depart='aaa' AND dataname LIKE 'xxx_%'"conn = MySQLdb.connect(host="localhost", user="root", passwd="baidu_cs", db="dataview", charset="utf 8")cur = conn.cursor()cur.execute(sql)

运行没问题,但数据库没有丝毫变化。

百度了一圈,原来少了这么一句话:

conn.commit()

原因如下:

支持事务的数据库引擎需要commit(可能自动或手动),不支持事务的引擎不需要commit。

怎么查看数据库引擎?

mysql> show engines;

怎么看commit是自动还是手动的?

mysql> show variables like '%autocommit%';

我查了下,原来我的commit不是自动的,所以需要手动加上那句commit()

 

 

转载于:https://www.cnblogs.com/renzhe688/p/3784696.html

你可能感兴趣的文章
iOS上使用自定义ttf字体
查看>>
关于CentOS/RHEL 7.x的yum组安装错误的解决方案
查看>>
通过PowerShell轻松转换VHD文件到VHDX格式
查看>>
OLTP应用之MySQL架构选型
查看>>
[Unity插件]LitJson杂谈
查看>>
调节effective_io_concurrenc优化PostgreSQL bitmap index scan性能
查看>>
MySQL体系结构笔记
查看>>
linux常用syslog日志知识
查看>>
VMware试验问题总结
查看>>
说说Micorsoft集群原理
查看>>
Android开发者指南(18) —— Web Apps Overview
查看>>
Oracle流程控制语句
查看>>
仿CSDN客户端首页(二)----拖拽排序Tabs的实现
查看>>
openstack 虚拟机导出
查看>>
《Flash建站技术》系列6-LoadVars数据提交与表单处理
查看>>
Lync Server 2010迁移至Lync Server 2013部署系列 Part6:配置Office Web App 01
查看>>
菜鸟成长日记(四)之WMIC简单命令应用
查看>>
Socket通讯模块压力及大数据对比工具开发之aperlib
查看>>
svn服务器备份命令
查看>>
脚本漏洞挖掘技巧 基于工具快速挖掘
查看>>