在Django中,cursor.execute(“select ..”)随机返回None

时间:2014-10-05 17:25:24

标签: python mysql django openshift

我在OpenShift服务器上运行Django + MySql并遇到此问题。

代码:

from django.db import connection

...

cursor = connection.cursor()
somedate = calculateSomeDate()
query = "SELECT id FROM levelbuffer WHERE START > '%s' ORDER BY START ASC LIMIT 1" % somedate 

print "First select: " + query
cursor.execute(query)

sql_result = cursor.fetchone()

if not sql_result == None:
    gameId = int(sql_result[0])
    cursor.fetchall()    #To clear anything left behind (this wasn't here before, but no changes appeared after adding)
    query = "SELECT gamescores.skore, users.name FROM gamescores JOIN users ON gamescores.userId = users.id where gamescores.gameId = " + str(gameId) + " ORDER BY skore ASC"
    cursor.execute(query);

    #cursor.execute("SELECT gamescores.skore, users.name FROM gamescores JOIN users ON gamescores.userId = users.id where gamescores.gameId = %s ORDER BY skore ASC", (gameId))
    print "Second select " + query
    row = cursor.fetchone()

奇怪的是,该行有时是None,有时它包含所需的值。我无法弄清楚,我错过了什么。第一个查询每次都可以正常工作。

当我尝试执行在phpmyadmin登录时打印的第二个查询时 - 工作总是很好。

0 个答案:

没有答案