繁体   English   中英

SQLAlchemy-Flask中的奇怪SQL语句错误

[英]Strange SQL statement error in SQLAlchemy-Flask

我在Flask中使用SQLAlchemy连接到我的Postgres服务器,现在我想执行一些原始SQL将一列插入表中。 我收到此错误,但是:

sqlalchemy.exc.ProgrammingError: (ProgrammingError) syntax error at or near "user"
LINE 1: ALTER TABLE user ADD COLUMN permissions INTEGER
                    ^
 'ALTER TABLE user ADD COLUMN permissions INTEGER' {}

如您所见,它说有一个SQL错误,尽管我不知道自己可能做错了什么。

这是执行命令的非常简单的函数:

@staticmethod
def addColumn():
    db.engine.execute('ALTER TABLE user ADD COLUMN permissions INTEGER')

否则db对象可以完美工作,并且连接或任何类似的东西都没有问题。

我感觉自己正在忽略一些非常简单的东西,但是我只是想不出它是什么。 有人知道吗?

PostgreSQL文档USER是一个保留关键字,需要加引号用作标识符。

Key Word      PostgreSQL      SQL 99      SQL 92
USER          reserved        reserved    reserved

user是否是保留字,因此需要在SQL语句中专门引用?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM