【发布时间】:2020-04-03 09:45:41
【问题描述】:
我在 python 中使用 sql 查询。我想在查询中将一些值作为参数/变量传递。我见过几个相关的问题。我正在关注这些问题,但我不确定我哪里出错了。我的代码
import mysql.connector
floor = 'L2'
cursor.execute ("""SELECT t1.deviceId, t1.date, t1.vavId, t1.timestamp, t1.nvo_airflow , t1.nvo_air_damper_position , t1.nvo_temperature_sensor_pps
FROM
(SELECT deviceId, date, nvo_airflow, nvo_air_damper_position, nvo_temperature_sensor_pps, vavId, timestamp, counter from vavData where date='2019-12-10' and floor=?1) t1
INNER JOIN
(SELECT date,max(timestamp) as timestamp,vavId from vavData where date='2019-12-10' and floor=?2 group by vavId) t2
ON (t1.timestamp = t2.timestamp) """,(floor,floor))
这给出了错误:
并非所有参数都在 SQL 语句中使用
我也尝试过使用 %s,但该方法也出现错误。有人可以帮助我如何正确传递变量吗?
【问题讨论】:
-
这对你有帮助吗:stackoverflow.com/questions/902408/… ?
-
尝试关注this answer,如果不起作用,请告诉我们。
-
我已经看到了这些问题,并在我的查询中实现了这些问题。得到一些错误。这就是为什么我添加了一个新问题。
-
“我也尝试过使用 %s,我也遇到了该方法的错误”——您是否也遇到同样的错误?
标签: python mysql sql mysql-connector-python