MySql更新查询在MySql中工作,但在Python中为1064

MySql更新查询在MySql中工作,但在Python中为1064,python,mysql,sql,syntax-error,mysql-error-1064,Python,Mysql,Sql,Syntax Error,Mysql Error 1064,我正在尝试执行一个查询,该查询递增MySQL表的一列中的整数值。当我在MySQL中从命令行尝试时,我编写的查询工作正常,但是当我尝试用Python执行它时,我得到了一个语法错误。以下是Python代码: refactorSequenceNumsQuery = """" UPDATE Contain SET sequencenum = sequencenum - 1 WHERE sequencenum > {} AND

我正在尝试执行一个查询,该查询递增MySQL表的一列中的整数值。当我在MySQL中从命令行尝试时,我编写的查询工作正常,但是当我尝试用Python执行它时,我得到了一个语法错误。以下是Python代码:

refactorSequenceNumsQuery = """"
    UPDATE Contain
    SET sequencenum = sequencenum - 1
    WHERE sequencenum > {}
    AND albumid = {}
    """.format(deletePhotoSequencenum, albumid)
    execute_query_no_result(refactorSequenceNumsQuery)
这里是execute\u query\u no\u result()函数,它可以与我执行的其他更新查询一起工作

def execute_query_no_result(queryString):
  connection = app.mysql.connect()
  cursor = connection.cursor()
  cursor.execute(queryString)
  connection.commit()
  cursor.close()
  connection.close()
最后,这是我运行代码时遇到的1064错误:

ProgrammingError:(1064,'您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在''\n UPDATE Contain\n SET sequencenum=sequencenum-1'附近使用的正确语法,其中sequencenum'位于第1行''


这相当令人困惑,因为正如我所说的,当我直接在数据库中运行查询时,查询工作正常。知道我为什么会出现语法错误吗?

打印出字符串表明在
RefactorSequenceNumQuery
的开头有一个多余的

>>> deletePhotoSequencenum = 10
>>> albumid = 15
>>> refactorSequenceNumsQuery = """"
...     UPDATE Contain
...     SET sequencenum = sequencenum - 1
...     WHERE sequencenum > {}
...     AND albumid = {}
...     """.format(deletePhotoSequencenum, albumid)
>>> 
>>> print refactorSequenceNumsQuery
"
    UPDATE Contain
    SET sequencenum = sequencenum - 1
    WHERE sequencenum > 10
    AND albumid = 15
只要把它取下来,你就会没事了:

# Note: three "s, not four! 
refactorSequenceNumsQuery = """
    UPDATE Contain
    SET sequencenum = sequencenum - 1
    WHERE sequencenum > {}
    AND albumid = {}
    """.format(deletePhotoSequencenum, albumid)
    execute_query_no_result(refactorSequenceNumsQuery)

请在格式化后打印
refactorSequenceNumsQuery
的值并在此处共享它,好吗?我想字符串开头有一个额外的双引号。