这个mysql事务代码是多余的吗?

时间:2018-09-25 19:58:17

标签: 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()到底是多余的,还是需要在那里?

1 个答案:

答案 0 :(得分:-1)

如果您开始交易,则您有责任致电COMMIT或在关闭连接时取消交易。

请注意,除非使用交互式shell,否则在查询中包含;是不好的形式。它们不是必需的,立即就如何将它们包含在其中提出了一系列问题。

shell使用;分隔符来确定一个命令在哪里停止,下一个命令在哪里开始,这在使用将每个语句作为单独的字符串提供的代码时是不必要的。