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
,以避免数据不一致和其他潜在问题。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: mysql默认值约束的语法规则是什么