🤖

【MySQL】既存のカラムをNot Nullに変更する方法

2024/07/27に公開

既存のNULLを許容するカラムがあり、そのカラムに対してnot null制約を強制するためにスキーマを更新したいとします。

カラムをNot Nullに変更する方法

これを行うには、alter table DDLステートメントを使用します。modifyまたはchangeオプションを使用して実行できます。

modifyを使用すると、既存のデータ型を知って指定する必要がありますが、カラム定義を再宣言して、必要なオプションを追加できます。

alter table books modify created_at int not null;

changeオプションを使用してこれを行うことも可能ですが、カラム名を2回宣言する必要があるため、やや面倒です。changeは通常、カラムの名前を変更するために使用されます。

alter table books change created_at created_at datetime not null;

データが既に存在するテーブルのカラムを更新する場合、そのカラムにnullが含まれている既存のレコードをバックフィルしなければなりません。modifyを適用する前に、そのカラムのすべてのレコードに値を設定する必要があります。

参考:https://stackoverflow.com/a/6305252/535590

フリーランスエンジニア必見!

最後に、フリーランスエンジニアの方にご案内です。
あなたに今だけご紹介できる”エンド直”・”高単価”の案件があります!

気になる方は公式ラインの追加をお願いします👇
https://s.lmes.jp/landing-qr/2005758918-ADDegZkx?uLand=tau44P

Discussion