Cursor.execute数据使用python中的mysql在(1,2)语句中添加单引号和分隔符
谢谢你的阅读。 尝试将变量发送到cursor.execute(查询,变量)时遇到问题。查询包含在(%s)语句中,变量包含逗号分隔的整数。 当pythons execute向变量添加单引号时,就会出现问题。它打破了这个疑问。所以 如何覆盖此行为以丢弃引号 查询: 评论作者=Cursor.execute数据使用python中的mysql在(1,2)语句中添加单引号和分隔符,python,mysql,variables,select,cursor,Python,Mysql,Variables,Select,Cursor,谢谢你的阅读。 尝试将变量发送到cursor.execute(查询,变量)时遇到问题。查询包含在(%s)语句中,变量包含逗号分隔的整数。 当pythons execute向变量添加单引号时,就会出现问题。它打破了这个疑问。所以 如何覆盖此行为以丢弃引号 查询: 评论作者= SELECT autor.id, autor.escuela, autor.nombre, count(*) FROM autor, cita, obra WHERE obra.autor=autor.i
SELECT autor.id, autor.escuela, autor.nombre, count(*)
FROM autor, cita, obra
WHERE obra.autor=autor.id
AND cita.obra=obra.id
AND cita.id in ( %s )
GROUP BY autor.id, autor.escuela, autor.nombre
ORDER BY autor.nombre ASC;
数据:
citaid=request.cookies.get("idNote")
Cursor.execute(review_authors, citaid)
光标。执行:
citaid=request.cookies.get("idNote")
Cursor.execute(review_authors, citaid)
通知错误:
citaid=request.cookies.get("idNote")
Cursor.execute(review_authors, citaid)
C:\Users\sebap\Web\venv\lib\site packages\pymysql\cursors.py:170:警告:(1292,“截断的不正确双精度值:'53025303354501')
结果=self.\u查询(查询)
再次感谢您需要做的是在查询中放置占位符
%s
。然后变量将进入其适当的位置
citaid=request.cookies.get("idNote")
placeholders = ",".join(['%s']*len(citaid))
review_authors = """SELECT autor.id, autor.escuela, autor.nombre, COUNT(*)
FROM autor, cita, obra
WHERE obra.autor=autor.id
AND cita.obra=obra.id
AND cita.id in ({})
GROUP BY autor.id, autor.escuela, autor.nombre
ORDER BY autor.nombre ASC;""".format(placeholders)
Cursor.execute(review_authors, citaid)
您需要做的是在查询中放置占位符
%s
。然后变量将进入其适当的位置
citaid=request.cookies.get("idNote")
placeholders = ",".join(['%s']*len(citaid))
review_authors = """SELECT autor.id, autor.escuela, autor.nombre, COUNT(*)
FROM autor, cita, obra
WHERE obra.autor=autor.id
AND cita.obra=obra.id
AND cita.id in ({})
GROUP BY autor.id, autor.escuela, autor.nombre
ORDER BY autor.nombre ASC;""".format(placeholders)
Cursor.execute(review_authors, citaid)
谢谢你,亚当,你是个很好的人。你回答得很快,而且是对的。你的话对解决这个问题非常有用。@Seba:不客气。我祝你快乐。谢谢你亚当,你是一个非常好的人。你回答得很快,而且是对的。你的话对解决这个问题非常有用。@Seba:不客气。祝你快乐。