【发布时间】:2016-09-01 22:52:02
【问题描述】:
我在使用 MySQL 连接器/Python 调用名称被反引号包围的存储过程时遇到问题。使用cursor.callproc() 方法时出现以下语法错误:
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in 你的 SQL 语法;检查与您的 MySQL 服务器版本相对应的手册 在第 1 行的 '`insert_page`_args1=NULL' 附近使用正确的语法
这是我的存储过程调用,导致错误:
args = (None, 'foo', 'bar')
cursor.callproc('`sp_insert_page`', args)
我已经看到了各种示例,这些示例演示了如何使用具有扩展字符串格式的游标来转义会评估为不正确 MySQL 语法的字符串,但这似乎不适用于 callproc() 方法;无论格式化方法如何,都会出现上述语法错误。
从 MySQL 命令行客户端调用名称包含反引号的存储过程可以正常工作,因此问题一定出在 python 应用程序的某个地方。
我希望有人能够阐明这个问题。
【问题讨论】:
-
你可以使用this类。我得到了它的回应。
标签: python mysql stored-procedures backticks mysql-connector-python