LoginSignup
41
35

More than 5 years have passed since last update.

MySQL の NOT NULL制約 を外す メモ

Last updated at Posted at 2016-04-29

ここでは mysql5.6系 をベースにしています。
以下のような users テーブルがあったとします。


CREATE TABLE `users` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'PK',
  `name` varchar(255) NOT NULL COMMENT '名前',
  `description` text NOT NULL COMMENT '説明',
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='ユーザー'    

ここで description についている NOT NULL制約 を外したい場合、以下の ALTER文を実行することで実現できます。

ALTER TABLE users MODIFY COLUMN description text COMMENT '説明';

[意味]
ALTER TABLE テーブル名 MODIFY COLUMN カラム名 型名 COMMENT 'コメント';

逆に NOT NULL制約 を付けたいときは以下のようにします。

ALTER TABLE users MODIFY COLUMN description text NOT NULL COMMENT '説明';
41
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
35