2013-06-24 8 views
12

私はPostgres 8.4.13を実行していて、既存のテーブルに制約を追加しようとしています。 the docsによると、これは可能なはずである:私はこれを実行するとPostgresの制約を追加するときに "user"またはそれに近い構文エラー

alter table indexed_friends add constraint no_duplicate_user_friends unique (user, friend); 

は、しかし、私は次のエラーを取得する:

ERROR: syntax error at or near "user" 

私はに記載されているユニークな制約の例を以下てるので、私は混乱していますほとんど正確にドキュメント。私はテーブルスキーマを提供することができますが、それは構文エラーについて不平を言っているので、私はそれが必要であるとは確信していません。

答えて

21

ああ... userという単語は、Postgresの予約語です。

引用符で囲ん:

alter table indexed_friends add constraint no_duplicate_user_friends unique ("user", friend); 

で働いていました。

+1

さらに、予約語を列名として使用しないでください。それは、このような悲しみと問題の続きです。 –

+0

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ、 –

0

とても涼しいので、userはPostgreSQLのキーワードです。 xx_userというテーブルを作成します。 xxはイニシャルです

関連する問題