操作を含む一意の PostgreSQL インデックスを作成したいと考えています。これが可能かどうか誰にもわかりますか?
CREATE UNIQUE INDEX ux_data ON table (name, color)
追加したい操作は「num & new_num = 0」です。num は既存の列、new_num は挿入する値です。
これは可能ですか?
更新:ここに、私がやりたいことに関する詳細があります。
データベース:
name color num
one red 5
two green 5
one red 8
私がやりたいのは、次のようにエントリが一意でない場合を防ぐことです。
新しいエントリ 1: name = one、color = red、num = 1。
一致する名前と色があり、最初の数値チェックの結果は 101 & 001 = 1 です。この新しいエントリ 1 は一意ではなく、数値が 2 に変更された場合は拒否する必要があります。
新しいエントリ 2: name = 1、color = 赤、num = 2
これで、名前と色が一致しました。すべての名前/色の一致数は 101 & 010 = 0、および 1000 & 0010 = 0 であるため、一意のエントリがあります。