Python Mysqld:重新安装后,只有在变量元组有尾随逗号的情况下才有效

时间:2015-08-09 19:33:44

标签: python mysql python-2.7

我刚刚重新安装了Python 2.7和mysql-python(使用windows安装程序https://pypi.python.org/pypi/MySQL-python/1.2.5)。

我现在有一个我以前没有的问题:

import MySQLdb
cursor = connection.cursor()
cursor.execute(sql, var_tuple)
return cursor.fetchall()

如果var_tuple缺少尾随逗号,则此代码失败:

(my_var)失败,但是 (my_var,)很高兴。

之前我的工作非常好,并且在我的生产环境中运行良好。

在我的许多语句中添加尾随逗号不是一种选择。正如我所说,这在生产中运行良好,我需要解决根本原因。

回应评论:

同样,这个带有单个变量且没有尾随逗号的EXACT代码现在正在我的生产环境中运行。在重新安装之前,它昨天在开发中工作。我们不是在谈论可能已经改变的一行,而是数百个这样做的选择语句。而且,更改数百个select语句而不是根本原因不是一种选择。这肯定不是一个好的。

1 个答案:

答案 0 :(得分:0)

感谢mata!

安装mysql-python 1.2.4(不是1.2.5)解决了这个问题。显然这是他们决定解决的“错误”。

我将迁移到Google Cloud,他们的版本仍然无需使用逗号。所以我也不想在Dev上使用最新版本。