我有一些python代码:

def GetAge(tournaments):
    cursor = cnxTurnier.cursor()
    for rows in tournaments:
        TurID = rows[0]
        TurID = int(TurID)
        query = ("SELECT JahrgID FROM altersklassen WHERE TurnierID = %s")

        cursor.execute(query, TurID)

        altersklassen = cursor.fetchall()


我在python3.4上使用mysql.connector

锦标赛是另一个SQL查询的结果。然后,我导出此查询的ID,并希望获取其他信息(1:n关系)。
MYSQL告诉我,%i附近的SQL Sytax中有错误。
但是为什么TurID不替代它?
我有一种奇怪的感觉,即连接器将TurID重新解析为不同于MYSQl期望的值。
当我替换%i时,SELECT在MYSQL中直接起作用。

谁能告诉我我的代码有什么问题,是否需要TurID = int(TurID)?

我当天尝试了几件事,并且阅读了不同的文档,但看不到问题。
解决这个错误的想法是否完整?
我想从其他表(1:n关系)向其他查询提供其他信息。

最佳答案

MySQL-或更确切地说,Python包装器MySQLdb-根本不期望%i。所有参数应为%s

08-07 07:22