Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MySQLdb游标上的提交是否会影响另一个游标中正在进行的事务?_Python_Mysql_Google App Engine_Mysql Python_Google Cloud Sql - Fatal编程技术网

Python MySQLdb游标上的提交是否会影响另一个游标中正在进行的事务?

Python MySQLdb游标上的提交是否会影响另一个游标中正在进行的事务?,python,mysql,google-app-engine,mysql-python,google-cloud-sql,Python,Mysql,Google App Engine,Mysql Python,Google Cloud Sql,如果我有多个游标(例如,每个游标在不同的线程中)是从同一个DB连接生成的,那么一个游标上的提交(例如在Python中:cursor.execute('commit'))是否会影响同一连接中另一个游标上正在进行的事务?如果是这样的话,为了避免像这样的交叉游标问题,我是否应该总是每个DB连接只有一个游标?(如果您知道,这是否也适用于谷歌云SQL?) 提前谢谢你的建议。可能吧MySQLdb指定-attribute为1,这意味着您不应该在没有手动同步的情况下在多个线程上共享连接(以及游标) 您最好使用某

如果我有多个游标(例如,每个游标在不同的线程中)是从同一个DB连接生成的,那么一个游标上的提交(例如在Python中:cursor.execute('commit'))是否会影响同一连接中另一个游标上正在进行的事务?如果是这样的话,为了避免像这样的交叉游标问题,我是否应该总是每个DB连接只有一个游标?(如果您知道,这是否也适用于谷歌云SQL?)


提前谢谢你的建议。

可能吧
MySQLdb
指定-attribute为1,这意味着您不应该在没有手动同步的情况下在多个线程上共享连接(以及游标)


您最好使用某种形式的连接池。

可能
MySQLdb
指定-attribute为1,这意味着您不应该在没有手动同步的情况下在多个线程上共享连接(以及游标)


您最好使用某种形式的连接池。

在Google Cloud SQL中,每个DB连接一次应该只有一个游标。在服务器端,每个连接都有一个数据结构,用于跟踪当前事务/查询。如果您有多个光标,它们将相互踩在一起


我建议在每个http请求开始时打开一个连接,然后在结束时关闭它。这就是原因。

在谷歌云SQL中,每个DB连接一次应该只有一个光标。在服务器端,每个连接都有一个数据结构,用于跟踪当前事务/查询。如果您有多个光标,它们将相互踩在一起


我建议在每个http请求开始时打开一个连接,然后在结束时关闭它。这是给你的。

试一下也证实了。试一下也证实了。谢谢肯。您的代码示例很有用,但是如果跨线程共享连接是危险的,那么包装器是否应该重用相同的连接呢?谢谢Ken。您的代码示例很有用,但是如果跨线程共享连接是危险的,那么包装器是否应该重用相同的连接?