1. ホーム
  2. sql

[解決済み】PostgreSQLのテーブルを作成した後、UNIQUE制約を追加することは可能ですか?

2022-04-06 13:51:22

質問

次のような表があります。

 tickername | tickerbbname  | tickertype
------------+---------------+------------
 USDZAR     | USDZAR Curncy | C
 EURCZK     | EURCZK Curncy | C
 EURPLN     | EURPLN Curncy | C
 USDBRL     | USDBRL Curncy | C
 USDTRY     | USDTRY Curncy | C
 EURHUF     | EURHUF Curncy | C
 USDRUB     | USDRUB Curncy | C

に対して複数のカラムが存在しないようにしたい。 tickername / tickerbbname のペアです。すでにテーブルを作成し、その中にたくさんのデータが入っています(ユニークな条件を満たしていることは確認済みです)。しかし、それが大きくなるにつれて、エラーの余地が忍び込んでくる。

を追加する方法はないのでしょうか? UNIQUE この時点で制約を受けるのでしょうか?

どのように解決するのですか?

psql のインラインヘルプを参照してください。

\h ALTER TABLE

また、文書化された ポストグレス・ドックス (素晴らしいリソースで、しかも読みやすい)。

ALTER TABLE tablename ADD CONSTRAINT constraintname UNIQUE (columns);