Python mysql.connect SQL Query中的Integer

时间:2014-12-22 12:43:07

标签: python mysql

我有一些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告诉我,我的SQL Sytax在%i附近有错误。 但为什么TurID没有取而代之呢? 我有一种奇怪的感觉,连接器将TurID解析为与MYSQl期望的不同。 当我替换%i时,SELECT直接在MYSQL中工作。

任何人都可以告诉我我的代码有什么问题,需要TurID = int(TurID)吗?

我在一天中尝试了几件事并阅读了不同的文件,我看不出这个问题。 也许整个想法解决这个错误? 我希望从另一个表(1:n关系)获得另一个查询的其他信息。

1 个答案:

答案 0 :(得分:1)

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