カラムのデフォルト値が「なし」について
最終的にやりたいこと
NULLを除いて、「デフォルト値なし」のカラムのみ抽出したい
Q1.phpMyAdminで「デフォルト値なし」と表示されるカラムがあるのですが、どういう意味ですか? 「デフォルト値なし」が内部的にどう処理されているかを知りたいです。
下記コマンド実行したら、「NOT NULLで デフォルト値なし」のカラムは「Default NULL」と表示されました。
show columns from テーブル名;
Default フィールドは、このカラムに割り当てられているデフォルト値を示します。このカラムの明示的なデフォルト値が NULL
である場合や、カラム定義に DEFAULT 句が含まれていない場合、これは NULL です。
「カラム定義に DEFAULT 句が含まれていない場合、これは NULL です」の意味は、下記何れですか?
- デフォルト値なしとNULLの意味は同じ
- デフォルト値なしとNULLの意味は異なるが、SHOW COLUMNS 実行結果としては同じ
Q2.カラムに対して「NOT NULLで デフォルト値ありなし」と「NOT NULL制約を設定しているかどうか」の情報はどこにありますか?
INFORMATION_SCHEMA
.COLUMNS
にあるのかと思い下記SQLを試してみましたが、よくわかりませんでした
select * from `INFORMATION_SCHEMA`.`COLUMNS` where `TABLE_SCHEMA`='テーブル名'