[解決済み] Postgresql。条件付き一意性制約
2022-04-27 21:06:26
質問
テーブルの一部のカラムにのみ一意性を強制する制約を追加したいのですが、どうすればいいですか?
ALTER TABLE stop ADD CONSTRAINT myc UNIQUE (col_a) WHERE (col_b is null);
は
WHERE
の部分は希望的観測です。
何か良い方法はないでしょうか?それとも、リレーショナルな図面に戻るべきでしょうか?
どのように解決するのですか?
PostgreSQLでは、部分的な(つまり条件付きの)
UNIQUE
制約 - しかし、あなたは
できる
部分的に一意な
インデックス
.
PostgreSQLは一意制約を実装するために一意インデックスを使用するので、効果は同じですが、重要な注意点があります。
ON CONFLICT DO UPDATE
に対して、一意制約と同じように、一意インデックスを使用することができます。
また、制約のリストが
information_schema
.
CREATE UNIQUE INDEX stop_myc ON stop (col_a) WHERE (col_b is NOT null);
参照 パーシャルインデックス .
関連
-
PostgreSQLのテーブルをパーティション分割する3つの方法
-
[解決済み] PostgreSQLの場合。PostgreSQLのテーブルを表示する
-
[解決済み] PostgreSQLの "DESCRIBE TABLE"
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
-
[解決済み] PostgreSQLでデータベースのコピーを作成する
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み】PostgreSQLのエラーです。Fatal: ロール "username" が存在しません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PostgreSQLのテーブルをパーティション分割する3つの方法
-
Postgresqlの操作でSQL文の実行効率を表示する
-
[解決済み] PostgreSQL は設定/conf ファイルをどこに保存しますか?
-
[解決済み] psqlの代替出力フォーマット
-
[解決済み] Postgres で、あるデータベースから別のデータベースにテーブルをコピーする
-
[解決済み】Postgresqlで、2つのカラムの組み合わせで一意性を強制する。
-
[解決済み】PostgreSQLのテーブルをALTERし、カラムを一意にする方法とは?
-
[解決済み] Postgres 9.4でJSONB型のカラムに対して更新操作を実行する方法
-
[解決済み] Postgres でシーケンスをリセットし、id 列を新しいデータで埋めるにはどうすればよいですか?
-
[解決済み] Postgresデータベースのエンコーディングの取得