Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python mariadb游标参数标记问题_Python_Mysql_Python 3.x_Mariadb - Fatal编程技术网

Python mariadb游标参数标记问题

Python mariadb游标参数标记问题,python,mysql,python-3.x,mariadb,Python,Mysql,Python 3.x,Mariadb,我试图使用python执行一个简单的mariadb sql查询,收到以下错误: 1064(42000):您的SQL语法有错误;检查手册 对应于正确语法的MariaDB服务器版本 在第1行的“%s”附近使用 我是python新手,不知道自己做错了什么。我认为sql是有效的,因为我尝试过它,而且我以前也使用过同样的语法 这是不起作用的代码: import mysql.connector as mariadb mariadb_connection = mariadb.connect() curso

我试图使用python执行一个简单的mariadb sql查询,收到以下错误:

1064(42000):您的SQL语法有错误;检查手册 对应于正确语法的MariaDB服务器版本 在第1行的“%s”附近使用

我是python新手,不知道自己做错了什么。我认为sql是有效的,因为我尝试过它,而且我以前也使用过同样的语法

这是不起作用的代码:

import mysql.connector as mariadb

mariadb_connection = mariadb.connect()

cursor = mariadb_connection.cursor()

cursor.execute(operation="select max(parse_key) from nb.extracted_data where run_id = %s",params=(run_id))

我检查了mysql文档,我认为我做的是正确的:


请帮我弄清楚我必须做些什么来纠正这个说法。

看来@brentertainer已经弄明白了这一点。元组在run\u id ie(run\u id**,**)之后需要一个逗号。

去掉params=并重试。这是我最初使用它的方式。我去掉了两个参数名,但它仍然不起作用:cursor.execute(“从nb.extracted_data中选择max(parse_key),其中run_id=%s”,(run_id))在run_id和右括号之间加一个逗号,如下所示:
(run_id,)
。在Python中,只有一个元素的元组是很有趣的。或者(我不确定它是否会起作用),在参数周围使用方括号。成功了!我甚至试着把它转换成一个元组,但没有成功。谢谢@brentertainer