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

自動インクリメントのために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)
>
  1. 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) | +------------------------+ |      

  2. 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