0
UNIQUE列のデフォルトgen_random_bytesのは、我々は次の表があるとしましょう:のPostgreSQL:
CREATE TABLE foo (
column_1 bigint,
column_2 bytea DEFAULT gen_random_bytes(2),
PRIMARY KEY (column_1, column_2)
);
注:私たちはcolumn_2
が&暗号的に強いランダムになりたいです。
主キーの競合を起こさずに行を挿入するにはどうすればよいですか?
私はgen_random_bytes(2)
がユニークな結果を返すまでループする必要があると思いますか?その場合、純粋なSQL
、おそらくplpgsql
ではなく再帰的なCTEでこのループを実行できますか?
ご迷惑をおかけして申し訳ございません。 1つの行だけを挿入したいだけです。 – ma11hew28
@mattdipasquale:新しい回答 –