首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql.connector选择查询是并发运行还是顺序运行?

mysql.connector选择查询是并发运行还是顺序运行?
EN

Stack Overflow用户
提问于 2018-09-16 18:54:04
回答 1查看 101关注 0票数 0

我目前在python项目中使用mysql.connector,在用户输入他们的信息后,执行以下查询:

代码语言:javascript
复制
"SELECT first, last, email, {} FROM {} WHERE {} <= {} AND ispaired IS NULL".format(key, db, class_data[key], key)

如果在两个线程中并发执行此查询,并在两个线程中返回相同的行,则会造成问题。我想知道是否有一种方法可以防止SELECT mysql查询并发执行,或者这是否已经是mysql.connector的默认行为?有关其他信息,所有mysql.connector查询都是在使用相同帐户凭据进行身份验证后执行的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-16 21:48:56

很难从您的描述中判断,但是如果您使用的是Flask,您很可能使用(或将在生产中使用)多个进程,并且您可能在每个进程中都有一个连接池(即多个连接)。因此,当每个连接按顺序执行查询时,这个查询可以由多个连接同时并发运行。

为了防止应用程序在处理不同请求时同时获得同一行,您应该使用事务和技术(如SELECT FOR UPDATE )。确切的解决方案取决于您的确切用例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52357407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档