English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQLに既存の列に非null制約を追加するには、ALTERコマンドを使用します。これはユーザーが空値を入力するのを制限する検証タイプです。
以下に例を示します。まず、テーブルを作成します。CREATEコマンドはテーブルを作成するために使用されます。
mysql> create table AddNotNUlldemo - > ( - > name varchar(100) - > );
レコードを挿入します。
mysql> insert into AddNotNUlldemo values('John'); mysql> insert into AddNotNUlldemo values('Bob');
すべてのレコードを表示します。
mysql> select *from AddNotNUlldemo;
これは出力です。
+------+ | name | +------+ | John | | Bob | +------+ 2 セット内の行(0.00秒)
以下は、既存の列に制約を追加する構文です。
ALTER table yourTableName modify column_name data type constraint;
上記の構文を実現するために、以下を実行します。ここでは、「非空」制約を含めます。
mysql> ALTER table AddNotNUlldemo modify name varchar(100) not null; レコード数: 0 重複数: 0 警告: 0
現在、空値をテーブル“ AddNotNUlldemo”に挿入することができません。なぜなら、上記の制約が「非空」に設定されているためです。空値を追加しようとすると、エラーメッセージが表示されます。以下はその例です。
mysql> INSERT into AddNotNUlldemo values(null); ERROR 1048 (23000): 列 'name' は null ではありません
すべてのレコードを表示します。
mysql> SELECT *from AddNotNUlldemo;
これは出力です。
+------+ | name | +------+ | John | | Bob | +------+ 2 セット内の行(0.00秒)