列の定義(制約)を変更する
ある列(以下ではc1)のNULL値を不許可にしたい場合、ALTER TABLE構文を使って以下のように記述します。まず、CHANGE構文を使った場合は、列名の変更も可能なため、旧名と新規名の2つを指定する必要があります。名前の変更が無い場合は、どちらも同じ値にしておくことも可能です。
ALTER TABLE t CHANGE c1 c1 INTEGER NOT NULL;
CHANGEから冗長性を省いたMODIFY構文を使うことも出来ます。以下の例は上記と同じ結果になります。
ALTER TABLE t MODIFY c1 INTEGER NOT NULL;
もう一つ紛らわしいのがALTER構文です。これはデフォルト値の変更や解除にだけ使われるもので、上記のような列名や型の変更には利用できません。
ALTER TABLE t ALTER c1 DROP DEFAULT;
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について