9.0データベースに整数値フィールド(プライマリキー)を持つ小さなテーブル(〜30行)を.id、body、created_atのような典型的な列を持つ投稿のような表があるとします。私は、URLの短縮のようなもので使用するために、各投稿の作成と一意の文字列を生成したいと思います。10文字の英数字の文字列。一意性制約が列のグループを参照する場合、各列はカンマで区切って列挙します。DBにテーブルを持っています。col2のユニークな組み合わせのみを望んでいます。1,2が入力された場合、2,1は拒否されます。列ではなく、集合型の1個の列で良ければ、もう少しすっきり書けます。集約する場合には以下のような感じ。使うことになるでしょう。一意性制約を課すためのインデックスの用法は、直接アクセスしてはならない実装の詳細とみなされることがあります。手作業で一意列に対しインデックスを作成する必要がないことには注意してください。デフォルトを持つ列を追加するためには、(新しい列値を格納するために)テーブルの各行を更新しなければなりません。物理的な更新を避けることが可能です。Feistelネットワークを使用します。この手法は、衝突することなく一定時間内に一意のランダムな文字列を効率.先日質問を書いている間に思いが私のところにやって来て、私の心にとどまりました。PostgreSQLでカラムの値制限を行う方法について確認したのでメモ。8.4.13まずはテーブルをCREATEするときに制約を付けてみる。一意性制約が列のグループを参照する場合、各列はコンマで区切ってリストします。JOINを使って行列の初期値を出している。JOINしていくと、データが空の時に行が抜け落ちる。Excel的に、データ0件でも3行固定にしたかったので。SQLServerでテーブル内でユニークキーをランダム生成して設定したい場合にNEWID関数を利用するとユニーク(一意)な値IDを取得することができます。NULL制約を強制します。この特定の使用例のために。''として定義し、問題を解決しました。加工しにくくなるので、データを列方向に展開して欲しくないんですが、すでに設計になっているものはしょうがない。私は非常に大きなテーブル(35GB)を持っています。これは4つの列の組み合わせに対してユニークです。DBに、col1とcol2が同じ列を参照する外部キーであるテーブルがあります。(col1、col2)の一意の組み合わせのみが必要です。(1,2)が入力された場合、(2,1)は拒否されます。すればそれを達成できますか?.主キー制約は、列または列のグループがテーブル内の行を一意に識別するものとして利用できることを意味します。これには値が一意で、かつNULLでないことが必要となります。この構文は、2つの制約ではなく2つの列にわたる単一の複合一意制約に対して設計されているようです。いずれかの一意制約に違反した場合、条件付き更新を.列を追加し、そのデータを自動生成するようなもの。「ID」(番号)という新しい列を追加する場合、各レコードに一意の値を初期化します。したがって、ID列には1から1000までのレコードが含まれます。