PostgreSQLのテーブルからすべてのNOT NULL制約を一度に削除する方法
2023-11-16 14:20:56
質問
テーブルからすべてのNOT NULL制約を一度に削除することは可能ですか?
多くのNOT NULL制約を持つ大きなテーブルがあり、それらを別々に削除するよりも高速なソリューションを検索しています。
どのように解決するのですか?
同じalterステートメントでグループ化すればよい。
alter table tbl alter col1 drop not null,
alter col2 drop not null,
…
を書きたい気分なら、カタログから関連するカラムのリストを取得することもできます。 ブロックを行う を書き、必要なSQLを生成することもできます。例えば、次のようなものです。
select a.attname
from pg_catalog.pg_attribute a
where attrelid = 'tbl'::regclass
and a.attnum > 0
and not a.attisdropped
and a.attnotnull;
(なお、これには主キー関連のフィールドも含まれるので、それらをフィルタリングしておくとよいでしょう)
これを行う場合、忘れずに
quote_ident()
を使うことを忘れないでください。
関連
-
[解決済み] SQL Serverで実行中の合計を計算する
-
[解決済み] SQL Server : 列を行に変換する
-
[解決済み] データベースのインデックス作成はどのように行われるのですか?[クローズド]
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] DISTINCTでCOUNT(*)を選択する
-
[解決済み] SQL Serverで、1つのALTER TABLEステートメントで複数のカラムをDROPする方法は?
-
[解決済み】すべてのテーブル、ストアドプロシージャ、トリガ、制約、およびすべての依存関係を1つのSQLステートメントで削除します。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQLの結合形式 - 入れ子になった内側join
-
[解決済み] 指定されたスキーマにテーブルが存在するかどうかを確認する方法
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] SQLの複数列の順序付け
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み] Selectステートメントで特定のフィールドの重複を検索する
-
[解決済み] SQLサーバでクエリを使用してnot null制約を削除する方法
-
[解決済み] Oracleの "not null "制約の名前がわからない場合、どのようにドロップすればよいですか?