我有一些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
。