【发布时间】:2020-09-01 08:26:30
【问题描述】:
我有一个直接在 sql server studio 中执行的简单 sql 查询
select latitude from locations.dbo.users WHERE firstname='Mike'
使用 python 中的 pandas 模块可以很好地执行相同的查询
pandas.read_sql_query('select latitude from locations.dbo.users WHERE firstname=\'Mike\'',conn)
但是当尝试使用变量查询 firstname 列时,我得到一个像这样的错误..
firstname="Mike"
pandas.read_sql_query('select latitude from locations.dbo.users WHERE firstname='+firstname, conn)
'执行失败 sql'select latitude from locations.dbo.users WHERE firstname=Mike': ('42S22', "[42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'Mike '. (207) (SQLExecDirectW)")'
我知道错误只是因为我的引号的位置和字符串的布局,但似乎无法获得正确的布局以使查询完全成功,就像我在没有变量的情况下那样。尝试了双引号和单引号等的所有方式和位置。
【问题讨论】: