python - 这个mysql事务代码是多余的吗?
问题描述
我有以下MySQLdb
用于数据库插入的代码
self.cursor.execute('START TRANSACTION;')
for item in data:
self.cursor.execute('INSERT INTO...')
self.cursor.execute('COMMIT;')
self.conn.commit()
最后是self.conn.commit()
多余的,还是需要在那里?
解决方案
如果您开始一个事务,您有责任调用COMMIT
,否则当您关闭连接时它会展开。
;
请注意,除非您使用交互式外壳,否则将其包含在查询中是不好的形式。它们不是必需的,并且会立即提出一堆关于它们是如何被包括在内的问题。
shell使用;
分隔符来确定一个命令的停止位置和下一个命令的开始位置,在使用每个语句作为单独字符串提供的代码时,这不是必需的。
推荐阅读
- solr - 如何在不重新索引的情况下将唯一键更改为新字段并更新所有文档?
- java - 如何将新的 JVM 附加到生成的 Python 进程?
- c++ - 可以优化智能指针吗?
- android - SnappyDB 中的 byBatch(size) 是什么意思?
- node.js - 在 Windows 操作中心中未触发 notifier.on 点击事件
- flutter - Flutter:如何将 TweenAnimation 应用于 Transform 的多个属性?
- php - 在每组学说中选择一行
- javascript - jquery在行中查找按钮并更改其类
- r - 从现有的 matirx R 替换矩阵中的列
- dart - 遍历 Dart 中的类列表