Mysql MariaDB中传递命名参数的语法是什么?

Mysql MariaDB中传递命名参数的语法是什么?,mysql,parameters,mariadb,Mysql,Parameters,Mariadb,我希望从这里 在这里。。。 这将(从python)起作用 但事实并非如此。我可以使用“%s”语法使其工作,并传入一个列表,但我需要命名参数 我必须跑吗 SET @my_id = 54321 首先?我必须使用存储过程吗 只要它在同一个连接上,就可以执行SET@my\u id=54321,然后执行select*from db.my Table where my id=@my\u id。这样做,就不需要在.execute()中将值作为参数传递。True。但我不知道还有另一种方法可以获得您想要的

我希望从这里

在这里。。。

这将(从python)起作用

但事实并非如此。我可以使用“%s”语法使其工作,并传入一个列表,但我需要命名参数

我必须跑吗

SET @my_id = 54321 

首先?我必须使用存储过程吗

只要它在同一个连接上,就可以执行
SET@my\u id=54321
,然后执行
select*from db.my Table where my id=@my\u id
。这样做,就不需要在.execute()中将值作为参数传递。

True。但我不知道还有另一种方法可以获得您想要的命名变量。其他选项仅允许使用%s或?因此对于那些将此选项用于熊猫的用户,就像我一样。。。if conn.dial.driver=='mysqldb':对于params.items()中的k,v:conn.execute(“SET@{}={}.format(k,v)),如果params:df=pd.read_sql(query,conn,params=params)多么优雅:处理两条语句以传递客户端已知的值:-)
SET @my_id = 54321