所以,我有一张桌子(比如说table_name
),它的列是:
| A | B | C |
------------------------
| a1 | b1 | c1 |
| a2 | b2 | c2 |
...
现在我必须使用以下查询读取列数据:
import pandas as pd
import pymysql as pycon
con = pycon.connect(host='localhost',user='root',password='', db='database')
#Error in here
df= pd.read_sql_query("SELECT A from table_name where B = %s and C != %s" %variableB %variableC, con)
但是我在read_sql_query(...)
遇到错误可能是查询格式错误,因为动态绑定的单个参数工作正常
即
df= pd.read_sql_query("SELECT A from table_name where B = %s" %variableB, con)
没有错误。任何人都可以帮我查询吗?
答案 0 :(得分:0)
将多个变量绑定到String时,语法应该是这样的
df= pd.read_sql_query("SELECT A from table_name where B = %s and C != %s" % (variableB, variableC), con)
答案 1 :(得分:0)
如果有人遇到同样的问题,请使用'%s'
代替%s
df= pd.read_sql_query("SELECT A from table_name where B = '%s' and C != '%s'" % (variableB, variableC), con)
下面的代码给了我pymysql.err.InternalError。
df= pd.read_sql_query("SELECT A from table_name where B = %s and C != %s" % (variableB, variableC), con)
谢谢stackOverflow:)