当前位置: 移动技术网 > IT编程>数据库>Mysql > 为什么pymysql执行SQL语句后提示成功,但没有实际操作数据库?

为什么pymysql执行SQL语句后提示成功,但没有实际操作数据库?

2020年04月22日  | 移动技术网IT编程  | 我要评论

 

原因:

  pymysql在连接数据库的时候会有一个参数autocommit,表示执行完sql语句是否自动提交到真正的数据库,默认为false,不自动提交,所以执行sql语句后提示成功,但实际没有操作数据库。

 

解决:

  方法一:创建数据库连接对象时设置autocommit=true

1 message = {
2             "host":host,
3             "user":user,
4             "password":db_pwd,
5             "database":db_name,
6             "autocommit":true
7             }
8 db = pymysql.connect(**message)
9 return db

  

  方法二:在每次执行sql后,显示提交

1 sql = "insert into users(id,name,age) values (1,'amy',13)"
2 cursor.execute(sql)       #cursor为游标
3 db.commit()      #db为数据库连接对象

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网