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

 

缘由:mysql

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

 

解决:数据库

  方法一:建立数据库链接对象时设置autocommit=Truespa

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后,手动提交code

1 sql = "insert into users(id,name,age) values (1,'Amy',13)"
2 cursor.execute(sql)       #cursor为游标
3 db.commit()      #db为数据库链接对象
相关文章
相关标签/搜索