Python MySQL语法错误
我一天中大部分时间都在试图找出我要去的地方,但仍然无法找到答案,盯着它看太久了,我很早就开始学习Python和MySQL了 我构建的查询是:Python MySQL语法错误,python,mysql,Python,Mysql,我一天中大部分时间都在试图找出我要去的地方,但仍然无法找到答案,盯着它看太久了,我很早就开始学习Python和MySQL了 我构建的查询是: query = "UPDATE `db`.`%s" % table + "` SET %s" % table + "`.`%s" % field + "` = `%s" % daychangeperc + "` WHERE (`db`.`%s" % table + "`.`id` = %s" % rowid +") LIMIT 1;" 我得到的错误是:
query = "UPDATE `db`.`%s" % table + "` SET %s" % table + "`.`%s" % field + "` = `%s" % daychangeperc + "` WHERE (`db`.`%s" % table + "`.`id` = %s" % rowid +") LIMIT 1;"
我得到的错误是:
_mysql_exceptions.ProgrammingError:1064,您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在“.DayChange=”-0.00736251627767”附近使用的正确语法,其中第1行的outof_finance.test1.id`=1
有人能指出我哪里出了问题吗?我相信这对很多人来说是显而易见的
提前谢谢。这太麻烦了,或许可以试着这样做:
query = """UPDATE db.%s SET %s.%s = %s WHERE db.%s.id = %s LIMIT 1""" % (table,table,field,daychangeperc,table,rowid)
首先,这里是重新编写的查询,以便格式字符串的所有参数都位于末尾:
query = "UPDATE `db`.`%s` SET %s`.`%s` = `%s` WHERE (`db`.`%s`.`id` = %s) LIMIT 1;" \
%(table,table,field,daychangeperc,table,rowid)
当你这样看它的时候,你可以看到在SET关键字之后,你有一些不平衡的回勾。我认为这就是问题所在,很难看到,因为您是如何编写字符串的。打印变量“query”的值这可能有助于两个答案都很有效,而且是一个有用的学习技巧,谢谢。