sqlalchemy、原子性和获取插入的 id
sqlalchemy, atomicity, and getting inserted id
我需要这篇文章中有关如何获取新插入的数据库条目的 ID 的答案:
sqlalchemy flush() and get inserted id?
我想知道提交的原子性。例如,假设我向数据库提交了一个新项目,然后取回了 id。我现在想做一些进一步的处理,可能会将项目 ID 作为外键添加到另一个 table。这破坏了原子性,因为我只想在完成此额外处理后才提交给数据库。这听起来不是个问题吗?我在我的项目中遇到了这个问题。
.flush() 不提交任何内容。 .flush()(以及后来的 .rollback())的唯一影响是 table 的 AUTO_INCREMENT 增加(例如,如果最后提交的记录的 ID 为 13,然后您 .add ()、.flush() 和 .rollback() 您的新记录,下一条插入的记录将收到 ID 15 而不是 ID 14。
我需要这篇文章中有关如何获取新插入的数据库条目的 ID 的答案: sqlalchemy flush() and get inserted id?
我想知道提交的原子性。例如,假设我向数据库提交了一个新项目,然后取回了 id。我现在想做一些进一步的处理,可能会将项目 ID 作为外键添加到另一个 table。这破坏了原子性,因为我只想在完成此额外处理后才提交给数据库。这听起来不是个问题吗?我在我的项目中遇到了这个问题。
.flush() 不提交任何内容。 .flush()(以及后来的 .rollback())的唯一影响是 table 的 AUTO_INCREMENT 增加(例如,如果最后提交的记录的 ID 为 13,然后您 .add ()、.flush() 和 .rollback() 您的新记录,下一条插入的记录将收到 ID 15 而不是 ID 14。