gpt4 book ai didi

python - 如何使用 MySQLdb 在 Python 中创建跨多个语句的事务?

转载 作者:行者123 更新时间:2023-11-28 21:29:45 25 4
gpt4 key购买 nike

我知道对于 InnoDB 表,事务是自动提交的,但是我理解这意味着单个语句?例如,我想检查表中是否存在用户,如果不存在,则创建它。然而,存在一个竞争条件。我相信在执行选择之前使用事务将确保表保持不变,直到后续插入并提交事务。如何使用 MySQLdb 和 Python 做到这一点?

最佳答案

存在一个 SELECT ... FOR UPDATE ,它允许您锁定行以防止其他事务读取,但我相信记录必须首先存在。然后你就可以按照你说的做,一旦提交就解锁。

就您而言,我认为最好的方法是简单地对用户名设置唯一的约束并尝试插入。如果您遇到关键异常​​,您可以通知用户该名称已被占用。

关于python - 如何使用 MySQLdb 在 Python 中创建跨多个语句的事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4637886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com