我有一些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关系)获得另一个查询的其他信息。
答案 0 :(得分:1)
MySQL - 或者更确切地说,Python包装器MySQLdb - 根本不期望%i
。所有参数都应为%s
。