MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLの既存の列にnull以外の制約を追加するにはどうすればよいですか?


MySQLの既存の列に非ヌル制約を追加するには、ALTERコマンドを使用します。これは、ユーザーがnull値を入力できないようにするための検証の一種です。

例を見てみましょう。まず、テーブルを作成します。 CREATEコマンドを使用してテーブルを作成します。

mysql> create table AddNotNUlldemo
   - > (
   - > name varchar(100)
   - > );
Query OK, 0 rows affected (0.44 sec)

レコードを挿入します。

mysql> insert into AddNotNUlldemo values('John');
Query OK, 1 row affected (0.19 sec)

mysql> insert into AddNotNUlldemo values('Bob');
Query OK, 1 row affected (0.19 sec)
>

すべてのレコードを表示します。

mysql> select *from AddNotNUlldemo;

これが出力です。

+------+
| name |
+------+
| John |
| Bob  |
+------+
2 rows in set (0.00 sec)

以下は、既存の列に制約を追加するための構文です。

ALTER table yourTableName  modify column_name data type constraint;

次に、上記の構文を実装して、以下のクエリを実装しましょう。ここでは、「nullではない」制約を含めています。

mysql> ALTER table AddNotNUlldemo modify name varchar(100) not null;
Query OK, 0 rows affected (1.14 sec)
Records: 0  Duplicates: 0  Warnings: 0

上記の制約を「notnull」として設定したため、テーブル「AddNotNUlldemo」にnull値を挿入できなくなりました。 null値を追加しようとすると、エラーが発生します。以下は例です。

mysql> INSERT into AddNotNUlldemo values(null);
ERROR 1048 (23000): Column 'name' cannot be null

すべてのレコードを表示します。

mysql> SELECT *from AddNotNUlldemo;

これが出力です。

+------+
| name |
+------+
| John |
| Bob  |
+------+
2 rows in set (0.00 sec)

  1. MySQLでNULLを表示するテーブル列に小計を追加するにはどうすればよいですか?

    最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Amount int, -> SubTotal int -> ); Query OK, 0 rows affected (0.65 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します ysql> insert into DemoTable(Amount) values(50); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable(Amou

  2. MySQLの既存の列にNOTNULL属性を設定します

    NOT NULL属性を既存の列に設定するには、ALTERTABLEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1949    (    UserId int,    UserName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) これは、既存の列にNOTNULL属性を設定するためのクエリです- mysql> alter table DemoTable1949 modify