自動インクリメントのためにMySQLにNULLを渡しますか?
はい、次の構文のようにNULLを渡すことができます-
insert into yourTableName values(NULL,yourValue1,yourValue2,...N);
まずテーブルを作成しましょう-
mysql> create table DemoTable1503 -> ( -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ClientName varchar(20), -> ClientAge int -> ); Query OK, 0 rows affected (0.45 sec)>
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。上記でNOTNULLを設定したため、auto_increment-
には影響しません。mysql> insert into DemoTable1503 values(NULL,'Chris',25); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable1503 values(NULL,'David',28); Query OK, 1 row affected (0.37 sec) mysql> insert into DemoTable1503 values(NULL,'Bob',45); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable1503 values(NULL,'Mike',57); Query OK, 1 row affected (0.15 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1503;
これにより、次の出力が生成されます。自動インクリメントは同じ方法で印刷されました(nullではありません)-
+----------+------------+-----------+ | ClientId | ClientName | ClientAge | +----------+------------+-----------+ | 1 | Chris | 25 | | 2 | David | 28 | | 3 | Bob | 45 | | 4 | Mike | 57 | +----------+------------+-----------+ 4 rows in set (0.00 sec)>
-
MySQLのNOTNULL値に1を設定します
NOT NULLを設定するには、ISNOTNULLを使用して値を見つけます。構文は次のとおりです- select if('' is not NULL,1,0) as anyAliasName; これが実際のクエリです- mysql> select if('' is not NULL,1,0); これにより、次の出力が生成されます- +------------------------+ | if('' is not NULL,1,0) | +------------------------+ |
-
MySQLのNULL値の場合は1を表示します
まずテーブルを作成しましょう- mysql> create table DemoTable1963 ( Counter int ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1963 values(20); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1963