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

database

 

原因:

  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)

9return db

  

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

1 sql = "insert into users(id,name,age) values (1,"Amy",13)"

2 cursor.execute(sql) #cursor为游标

3 db.commit() #db为数据库连接对象

 

以上是 为什么pymysql执行SQL语句后提示成功,但没有实际操作数据库? 的全部内容, 来源链接: utcz.com/z/533238.html

回到顶部