执行USE语句会产生“您的SQL语法中有错误”

时间:2017-06-19 09:59:51

标签: python mysql sqlalchemy

我有一个奇怪的逃避问题。 USE声明不能像我期望的那样工作。以下是我尝试的三个陈述,但只有最后一个有效:

engine=create_engine("mysql+pymysql://l:pw@myserver")
engine.execute("use :db", db='mydb')  # fails
engine.execute("use 'mydb'")          # fails
engine.execute("use `mydb`")          # works fine

失败的stements引发异常“你的SQL语法有错误......”。我检查了通过线路发送的查询,它是“使用'mydb'”。但是从MySQL cli执行的查询工作正常。为什么它不能在SQLAlchemy中运行?

PS我尝试使用“SET sql_mode = ANSI_QUOTES”并将SQLAlchemy和PyMySQL更新到最新版本。还试过mysqlclient驱动程序,没有运气。

0 个答案:

没有答案