首页 > 文章列表 > 在没有给出列名和值的情况下运行 INSERT INTO 语句时 MySQL 返回什么?

在没有给出列名和值的情况下运行 INSERT INTO 语句时 MySQL 返回什么?

108 2023-08-29

当我们运行 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)