為什么pymysql執行SQL語句后提示成功,但沒有實際操作數據庫?


 

原因

  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為數據庫連接對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM