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