我试图在一个名为“Name”的列的表中选择一些值。那一栏有网球运动员的名字。我想用python存储每个播放器的一些统计信息,但是访问表时遇到了问题。我一直得到一个“您的SQL语法有错误;请检查对应于MySQL服务器版本的手册,在第1行的'='Rafael Nadal''附近使用正确的语法”,如您所见,MySQL清楚地解释了我用的%s,而不是'Rafael Nadal',但它仍然会出现错误。有人能帮我吗?

recordTuple = ('Rafael Nadal', )
mySql_insert_query = """SELECT `First_Serve(%)` FROM `serve2` WHERE Name =%s"""
cursor.execute(mySql_insert_query, recordTuple)
aI = cursor.fetchall()[0][0]/100

最佳答案

由于%用于标记SQL中的占位符,因此如果要按字面意思使用它,必须将其加倍。

mySql_insert_query = """SELECT `First_Serve(%%)` FROM `serve2` WHERE Name =%s"""

How do I escape % from python mysql query

10-08 04:22