Python中的MySQL查询错误
我在运行以下代码时遇到了MySQL语法错误:Python中的MySQL查询错误,python,mysql,Python,Mysql,我在运行以下代码时遇到了MySQL语法错误: cnx=mysql.connector.connect(**连接) cursor=cnx.cursor() 选择类别=(“从类别中选择`id`、`name`、`url`,其中`id\u父项`=%s”) cursor.execute(选择_类别,(4)) 错误: mysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“%s”附近
cnx=mysql.connector.connect(**连接)
cursor=cnx.cursor()
选择类别=(“从类别中选择`id`、`name`、`url`,其中`id\u父项`=%s”)
cursor.execute(选择_类别,(4))
错误:
mysql.connector.errors.ProgrammingError:1064(42000):您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“%s”附近要使用的正确语法
如何修复它?问题是python将
(4)
解释为4,并且参数需要是一个iterable。尝试更新到以下位置:
cursor.execute( select_categories, (4, ) )
4后面的逗号将迫使python将其解释为元组。问题在于python将
(4)
解释为4,并且参数需要是一个iterable。尝试更新到以下位置:
cursor.execute( select_categories, (4, ) )
4后面的逗号将迫使python将其解释为元组。它不应该是
“从类别中选择id、名称、url”,id\u parent=%s
@Maddy:No。如果我设置select\u categories=(“从类别中选择'id',name','url',其中'id\u parent'=4”)
您的参数应该是序列。一个元素的元组是(4,)
,但您有(4)
,这是一个标量。@Parfait:它有效。谢谢不应该是“从类别中选择id、名称、url”,id\u parent=%s
@Maddy:No。如果我设置选择类别=(“从类别中选择id”、“名称”、“url”,其中“id\u parent”=4”)
您的参数应该是顺序。一个元素的元组是(4,)
,但您有(4)
,这是一个标量。@Parfait:它有效。谢谢