当我们运行 INSERT INTO 语句而不给出列名和值时,MySQL 会将 NULL 存储为表列的值。考虑下面给出的示例,其中我们使用以下查询创建了一个表“Student” -
mysql> Create table Student(RollNO INT, Name Varchar(20), Class Varchar(15));
Query OK, 0 rows affected (0.17 sec)
现在,我们可以运行 INSERT INTO 语句,而无需给出列名称和值,如下所示 -
mysql> Insert into Student() Values();
Query OK, 1 row affected (0.02 sec)
从下面的查询中我们可以看到MySQL将NULL存储为列的值。
mysql> Select * from Student;
+--------+------+-------+
| RollNO | Name | Class |
+--------+------+-------+
| NULL | NULL | NULL |
+--------+------+-------+
1 row in set (0.00 sec)
每次我们运行 INSERT INTO 语句而不同时给出列名和值时,MySQL 都会将 NULL 存储为表的列的值。
mysql> Insert into Student() Values();
Query OK, 1 row affected (0.03 sec)
mysql> Select * from Student;
+--------+------+-------+
| RollNO | Name | Class |
+--------+------+-------+
| NULL | NULL | NULL |
| NULL | NULL | NULL |
+--------+------+-------+
2 rows in set (0.00 sec)