MySQLで列値がNULLであるか、デフォルト値であるかを確認するにはどうすればよいですか?
これには、IFNULL()の概念を使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(100) DEFAULT 'Larry', Age int DEFAULT NULL ); Query OK, 0 rows affected (0.73 sec)
挿入コマンド-
を使用してテーブルにレコードを挿入しますmysql> insert into DemoTable(Name,Age) values('John',23); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(); Query OK, 1 row affected (0.34 sec) mysql> insert into DemoTable(Name) values('David'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable(Age) values(24); Query OK, 1 row affected (0.13 sec)
以下は、selectステートメント-
を使用してテーブルのすべてのレコードを表示するためのクエリです。mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 23 | | 2 | Larry | NULL | | 3 | David | NULL | | 4 | Larry | 24 | +----+-------+------+ 4 rows in set (0.00 sec)
以下は、列の値がNULLであるか、MySQLでDEFAULT値を持っているかを確認するためのクエリです。
mysql> select *from DemoTable WHERE IFNULL(Name, DEFAULT(Name)) <> DEFAULT(Name);
これにより、次の出力が生成されます-
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 23 | | 3 | David | NULL | +----+-------+------+ 2 rows in set (0.00 sec)
-
MySQLでデフォルト値をNULLに設定するにはどうすればよいですか?
MySQLでDEFAULTキーワードを使用して、デフォルト値をNULLに設定します。まず、-を作成しましょう mysql> create table DemoTable1440 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20) DEFAULT NULL, -> StudentAge int DEFAULT NULL
-
MySQLテーブルの単一行で値がNullであるかどうかを確認するにはどうすればよいですか?
このために、MySQLでISNULLを使用できます。 テーブルを作成しましょう- 例 mysql> create table demo86 -> ( -> value1 varchar(20) -> , -> value2 varchar(20) -> ); Query OK, 0 rows affected (2.77 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert