我正在为一个应用程序使用flask和flask_mysqldb。然而,我试图使用列别名执行一个简单的查询。如果我使用其他一些变量来构造查询,它将不起作用,如下所示:
alias = "x"
sql = "SELECT COUNT(*) AS " + alias + " FROM DBTable"
db = MySQL(app)
conn = db.connection
cursor = conn.cursor()
cursor.execute (sql)
我得到一个错误“你有一个错误,在您的SQL语法;查看与MySQL服务器版本相对应的手册,了解要使用near...”的正确语法
然而,如果我只是简单地将第二行代码替换为sql = "SELECT COUNT(*) AS x FROM DBTable"
,它就可以工作了。我已经检查了两个sql
变量具有相同的值。所以这对我来说非常困惑。
有谁知道这个错误背后的原因吗?
1条答案
按热度按时间tcomlyy61#
已经解决了(感谢ChatGPT!)MySQL的列别名需要包含单引号,如下所示:
有时候,如果你忘记指定单引号,它会自动添加,我的第二个
example sql = "SELECT COUNT(*) AS x FROM DBTable"
就是这种情况。