MySQL 默認情況下是自動提交事務的,也就是每次執行 SQL 語句后都會立即執行 COMMIT。如果你想要關閉自動提交來手動控制事務,可以使用以下方法:
autocommit
系統變量來關閉自動提交:SET autocommit = 0;
這將關閉當前會話的自動提交功能。之后,你需要在每個事務結束時手動執行 COMMIT
或 ROLLBACK
。
START TRANSACTION
語句開始一個新的事務:START TRANSACTION;
這將開始一個新的事務并關閉自動提交。你可以在此事務中執行多個 SQL 語句,然后使用 COMMIT
或 ROLLBACK
語句結束事務。
import mysql.connector
# 創建數據庫連接
cnx = mysql.connector.connect(user='your_user', password='your_password', host='your_host', database='your_database')
cursor = cnx.cursor()
# 關閉自動提交
cnx.autocommit = False
# 執行 SQL 語句
cursor.execute("INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2')")
# 提交事務
cnx.commit()
# 回滾事務
# cnx.rollback()
# 關閉連接
cursor.close()
cnx.close()
請注意,當你手動控制事務時,確保在每個事務結束時執行 COMMIT
或 ROLLBACK
,以避免數據不一致和其他潛在問題。