我有SQl语句列表,当运行单个语句时,它会运行它给出的循环:
pyodbc.ProgrammingError:('42000',"42000ODBC 5.1 DriverYou在您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解要在第1 (1064)行'Sql_2‘附近使用的正确语法(SQLExecDirectW)")
SQl = """Select something"""
SQl_2 = """Select something"""
SQl_3 = """Select something"""
Sqls= ('Sql','Sql_2','Sql_3')
for x in Sqls:
print x
use = Sql_2
# use = x
cxn = pyodbc.connect('DSN=MySQL;PWD=xxx')
csr = cxn.cursor()
csr.execute(use)
fetch = csr.fetchall()发布于 2011-02-11 00:49:20
您的元组应该是
Sqls = (Sql,Sql_2,Sql_3)而不是
Sqls = ('Sql','Sql_2','Sql_3')发布于 2011-02-11 01:02:24
您还应该将连接到数据库以及创建游标移出for循环,因为这是不必要的开销。
SQl = """Select something"""
SQl_2 = """Select something"""
SQl_3 = """Select something"""
Sqls = (Sql, Sql_2, Sql_3)
cxn = pyodbc.connect('DSN=MySQL;PWD=xxx')
csr = cxn.cursor()
for x in Sqls:
print x
use = Sql_2
# use = x
csr.execute(use)
fetch = csr.fetchall()https://stackoverflow.com/questions/4960035
复制相似问题