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

时间:2013-08-05 20:07:59

标签: python sql flask-sqlalchemy

我在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对象在其他情况下工作正常,并且连接或任何类型的任何东西都没有错。

我觉得我忽略了一些非常简单的东西,但我无法弄清楚它是什么。有人有任何想法吗?

2 个答案:

答案 0 :(得分:2)

The PostgreSQL docsUSER是保留关键字,需要引用它作为标识符。

Key Word      PostgreSQL      SQL 99      SQL 92
USER          reserved        reserved    reserved

答案 1 :(得分:1)

user是保留字,因此需要在SQL语句中特别引用吗?