爲何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爲數據庫鏈接對象
相關文章
相關標籤/搜索