我有以下代码将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()
到底是多余的,还是需要在那里?
答案 0 :(得分:-1)
如果您开始交易,则您有责任致电COMMIT
或在关闭连接时取消交易。
请注意,除非使用交互式shell,否则在查询中包含;
是不好的形式。它们不是必需的,立即就如何将它们包含在其中提出了一系列问题。
shell使用;
分隔符来确定一个命令在哪里停止,下一个命令在哪里开始,这在使用将每个语句作为单独的字符串提供的代码时是不必要的。