カラム(フィールド):データ定義(SQL文)デフォルト値の設定・削除
デフォルト値の設定
unknown
ALTER TABLE テーブル名 ALTER フィールド名 SET DEFAULT デフォルト値;
デフォルト値の設定または変更をします。
# tbl_Addressのフィールドを確認 mysql> DESCRIBE tbl_Address; Enter +--------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+----------------+ | UserID | int(11) | | PRI | NULL | auto_increment | | Zip | varchar(8) | YES | | NULL | | | Ken | varchar(5) | YES | | 0 | | →デフォルト値をNULLに変更 | Addr | varchar(200) | YES | | NULL | | +--------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) # Kenフィールドのデフォルト値を 0 → 9999 に変更 mysql> ALTER TABLE tbl_Address ALTER Ken SET DEFAULT 9999; Enter Query OK, 4 rows affected (0.15 sec) Records: 4 Duplicates: 0 Warnings: 0 # Kenフィールドのデフォルト値が変更されてたか確認 mysql> DESCRIBE tbl_Address; Enter +--------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+----------------+ | UserID | int(11) | | PRI | NULL | auto_increment | | Zip | varchar(8) | YES | | NULL | | | Ken | varchar(5) | YES | | 9999 | | | Addr | varchar(200) | YES | | NULL | | +--------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
デフォルト値の削除
unknown
ALTER TABLE テーブル名 ALTER カラム名 DROP DEFAULT;
デフォルト値を削除します。削除後は、デフォルト値にNULL値が設定されます。
# tbl_Addressのフィールドを確認 mysql> DESCRIBE tbl_Address; Enter +--------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+----------------+ | UserID | int(11) | | PRI | NULL | auto_increment | | Zip | varchar(8) | YES | | NULL | | | Ken | varchar(5) | YES | | 9999 | | →デフォルト値を削除 | Addr | varchar(200) | YES | | NULL | | +--------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) # Kenフィールドからデフォルト値を削除(NULLに戻す) mysql> ALTER TABLE tbl_Address ALTER Ken DROP DEFAULT; Enter Query OK, 4 rows affected (0.45 sec) Records: 4 Duplicates: 0 Warnings: 0 # デフォルト値が削除されているか確認 mysql> DESCRIBE tbl_Address; Enter +--------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+----------------+ | UserID | int(11) | | PRI | NULL | auto_increment | | Zip | varchar(8) | YES | | NULL | | | Ken | varchar(5) | YES | | NULL | | | Addr | varchar(200) | YES | | NULL | | +--------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)