如何使用for循环在python中执行多个SQL语句

Mer*_*lin 0 python for-loop

我有SQl语句列表,当运行单个语句时,它运行循环它给出:

pyodbc.ProgrammingError:('42000',"[42000] [MySQL] [ODBC 5.1驱动程序] [mysqld-5.5.8]您的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()
Run Code Online (Sandbox Code Playgroud)

Sve*_*ach 6

你的元组应该是

Sqls = (Sql,Sql_2,Sql_3)
Run Code Online (Sandbox Code Playgroud)

代替

Sqls = ('Sql','Sql_2','Sql_3')
Run Code Online (Sandbox Code Playgroud)