2016-09-07 14 views
0

私はPostgreSQLを使用しています。 (上記の文を書くための適切な方法は何である私は、主キー列tahtがUUIDで作成しようとしていますので、私はこの文をPostgresのUUID主キー列のデフォルト値を設定するにはどうすればよいですか?

ALTER TABLE my_object_times ADD PRIMARY KEY (id) DEFAULT uuid_generate_v4(); 

を走ったが、私は

PG::SyntaxError: ERROR: syntax error at or near "DEFAULT" 

エラーが出ます私は既存の主キー列を変更しているので、変更を行っています)?コラムidがすでにテーブルに存在していると、あなたはそれを主キーを作成すると、デフォルト値を追加することによって、それを変更したい場合は

+0

ackExchange.com:[PostgresのUUID列のデフォルト値](https://dba.stackexchange.com/q/122623/19079) –

答えて

4

、あなたは2つの段階でそれを行うことができます。

ALTER TABLE my_object_times ADD PRIMARY KEY (id); 
ALTER TABLE my_object_times ALTER COLUMN id SET DEFAULT uuid_generate_v4(); 

をカラムはdoesnの場合「トンは全く存在し、その後、あなたは、単に行うことで、あなたが望むすべての属性でそれを作成することができます。

ALTER TABLE my_object_times ADD id uuid PRIMARY KEY DEFAULT uuid_generate_v4(); 

を(私は今、この権利をテストすることはできませんが、それは動作するはず)dba.Stで複製

関連する問題