原因: pymysql在連接資料庫的時候會有一個參數autocommit,表示執行完SQL語句是否自動提交到真正的資料庫,預設為False,不自動提交,所以執行SQL語句後提示成功,但實際沒有操作資料庫。 解決: 方法一:創建資料庫連接對象時設置autocommit=True 1 message = ...
原因:
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為資料庫連接對象