PostgreSQL语法错误我不明白
PostgreSQL Syntax error I do not understand
我有下一个 SQL 命令,postgress 说它不正确:
SQL State : 42601
Error Code : 0
Message : ERROR: syntax error at or near "NOT"
Position: 41
Location : db/migration/postgresql/V2.5.0.20180730192730__schema-add-kerberos-to-source.sql (/opt/tomcat/webapps/WebAPI/WEB-INF/classes/db/migration/postgresql/V2.5.0.20180730192730__schema-add-kerberos-to-source.sql)
Line : 1
Statement : ALTER TABLE webapi.source ADD COLUMN IF NOT EXISTS krb_auth_method VARCHAR DEFAULT 'PASSWORD' NOT NULL
知道为什么这是错误的吗?我正在使用 psql 9.5.9
manual说的是,没有ADD COLUMN IF NOT EXISTS
,只有ADD COLUMN
。
ALTER TABLE ... ADD COLUMN IF NOT EXISTS
是在 Postgres 9.6 中添加的。您可以在 the current manual.
中找到它
您可能仍想升级到当前版本。 9.5版本老了,12版本快出来了
如果你坚持9.5,至少要考虑一下the Postgres project advises:
We always recommend that all users run the latest available minor release for whatever major version is in use.
在撰写本文时,当前的次要版本是 9.5.19。您错过了几年的安全更新和错误修复。
我有下一个 SQL 命令,postgress 说它不正确:
SQL State : 42601
Error Code : 0
Message : ERROR: syntax error at or near "NOT"
Position: 41
Location : db/migration/postgresql/V2.5.0.20180730192730__schema-add-kerberos-to-source.sql (/opt/tomcat/webapps/WebAPI/WEB-INF/classes/db/migration/postgresql/V2.5.0.20180730192730__schema-add-kerberos-to-source.sql)
Line : 1
Statement : ALTER TABLE webapi.source ADD COLUMN IF NOT EXISTS krb_auth_method VARCHAR DEFAULT 'PASSWORD' NOT NULL
知道为什么这是错误的吗?我正在使用 psql 9.5.9
manual说的是,没有ADD COLUMN IF NOT EXISTS
,只有ADD COLUMN
。
ALTER TABLE ... ADD COLUMN IF NOT EXISTS
是在 Postgres 9.6 中添加的。您可以在 the current manual.
您可能仍想升级到当前版本。 9.5版本老了,12版本快出来了
如果你坚持9.5,至少要考虑一下the Postgres project advises:
We always recommend that all users run the latest available minor release for whatever major version is in use.
在撰写本文时,当前的次要版本是 9.5.19。您错过了几年的安全更新和错误修复。