4

我正在使用 Django 和 MySQL。我需要能够做在 Oracle 中称为自治事务的事情,即只提交事务的一部分(或者,更确切地说,在事务中具有事务)。我在两种情况下都需要这个(尽管我认为解决方案是相同的):

  1. 错误记录。我在错误表中记录错误并希望提交这些插入,即使我回滚所有其他事务。

  2. 我使用一个表来创建一个序列(使用 TABLE 序列和 LAST_INSERT_ID(),如下所述:http: //dev.mysql.com/doc/refman/5.0/en/information-functions.html)。我想获取/更新这个序列,然后提交语句,从而为需要该序列的其他事务解锁表。即使我回滚其他事务,如果表增加也很好。

4

1 回答 1

1

有趣的主题,显然 mysql 中没有这样的东西,但是有人建议使用(针对您的日志表问题)myisam 表,因此由于它是外部事务,因此无论如何都会发布数据。


我正在添加第二个答案,因为我刚刚想出了这个替代方案:您可以做的是处理来自与数据库中另一个用户的另一个连接的日志事务。

Mysql 处理每个用户的连接池,因此它永远不会对主要操作和日志操作使用相同的连接,从而允许您独立提交日志连接。

于 2012-07-01T14:36:25.353 回答