在不提供列名和值的情况下运行 INSERT INTO 语句时,MySQL 会返回什么?


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

更新于:2020年2月5日

155 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告