[解決済み】既存のENUM型に新しい値を追加する
2022-04-17 11:42:16
質問
テーブルのカラムで
enum
という型があります。を更新したい。
enum
タイプに、可能な値を追加しました。既存の値は削除せず、新しい値だけを追加したいのです。これを行うための最も簡単な方法は何ですか?
どのように解決するのですか?
注意事項 PostgreSQL 9.1以降を使用していて、トランザクションの外で変更を行うことに問題がない場合、以下を参照してください。 この回答 を使えば、もっと簡単な方法があります。
数日前に同じ問題に直面し、この投稿を見つけました。だから、私の答えは、解決策を探している誰かのために役立つことができます:)
変更したいenum型を使用している列が1つか2つしかない場合、これを試すことができます。また、新しい型の値の順序を変更することができます。
-- 1. rename the enum type you want to change
alter type some_enum_type rename to _some_enum_type;
-- 2. create new type
create type some_enum_type as enum ('old', 'values', 'and', 'new', 'ones');
-- 3. rename column(s) which uses our enum type
alter table some_table rename column some_column to _some_column;
-- 4. add new column of new type
alter table some_table add some_column some_enum_type not null default 'new';
-- 5. copy values to the new column
update some_table set some_column = _some_column::text::some_enum_type;
-- 6. remove old column and type
alter table some_table drop column _some_column;
drop type _some_enum_type;
3-6は、カラムが2つ以上ある場合は繰り返す必要があります。
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] 外部キーを主キーにするのは問題ないですか?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Enumの値の属性の取得
-
[解決済み】C#で文字列をenumに変換する
最新
-
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 - SQLの状態です。42601構文エラー
-
[解決済み] 多くのSQLiteデータベースをマージするにはどうすればよいですか?
-
[解決済み] 検出された解決済みの移動がフライウェイのデータベースに適用されていない。
-
[解決済み] FactテーブルとDimensionテーブルの違い?
-
[解決済み] スキーマとテーブルとデータベースの違いは何ですか?
-
[解決済み】Cassandraのパーティションキー、コンポジットキー、クラスタリングキーの違い?
-
[解決済み】{merge: true}のあるセットとupdateの違いについて
-
[解決済み】データベースのMongoDBダンプを作成する方法は?
-
[解決済み】Non-Repeatable ReadとPhantom Readの違いは何ですか?
-
[解決済み】データベースの正規形とは何ですか、またその例を教えてください。[クローズド]