Python 2.7 使用pymssql设置查询格式
我试图使用pymssql中的一个变量来检索2.7 Python中的数据库查询。我在尝试运行脚本时遇到语法错误。脚本如下:Python 2.7 使用pymssql设置查询格式,python-2.7,pymssql,Python 2.7,Pymssql,我试图使用pymssql中的一个变量来检索2.7 Python中的数据库查询。我在尝试运行脚本时遇到语法错误。脚本如下: school = 'Some School' sql_statement = ''' SELECT TOP 10 a.Item_Name, sum(a.Sales) 'Total_Spend' FROM some_DB a WHERE
school = 'Some School'
sql_statement = '''
SELECT TOP 10
a.Item_Name,
sum(a.Sales) 'Total_Spend'
FROM some_DB a
WHERE
a.School_Name = {}
GROUP BY a.Health_Rating, a.Item_Name
ORDER BY 2 DESC;
'''.format(school)
连接没有问题,所以我排除了该代码
它只在尝试使用.format()方法添加变量时出错。对此,如有任何帮助,我们将不胜感激
干杯。我找到了这个解决方案,如有必要,请随时更正。经过一些研究,我发现格式化操作符可以接受SQL注入,并且不允许转义。从上一个问题中获得的信息
school = 'Some School'
sql_statement = '''
SELECT TOP 10
a.Item_Name,
sum(a.Sales) 'Total_Spend'
FROM some_DB a
WHERE
a.School_Name = (%s)
GROUP BY a.Health_Rating, a.Item_Name
ORDER BY 2 DESC;
'''
cursor.execute(sql_statement, school)