如何在没有在MySQL INSERT INTO语句中指定列名的情况下将值插入列中?

为了在没有在INSERT INTO语句中指定列名的情况下将值插入列中,我们必须提供与表中列数匹配的值数,同时还要注意该列的数据类型。

示例

在下面的示例中,我们插入了值,但未指定列的名称。

mysql> Insert into student values(100,'Gaurav','Ph.D');

mysql> Select * from student;
+--------+--------+--------+
| RollNO | Name   | Class  |
+--------+--------+--------+
| 100    | Gaurav | Ph.D   |
+--------+--------+--------+

1 row in set (0.00 sec)

mysql> Insert into student values(200,'Rahul','Ph.D'),(300,'Aarav','B.tech');
Records: 2 Duplicates: 0 Warnings: 0

mysql> Select * from student;

+--------+--------+--------+
| RollNO | Name   | Class  |
+--------+--------+--------+
| 100    | Gaurav | Ph.D   |
| 200    | Rahul  | Ph.D   |
| 300    | Aarav  | B.tech |
+--------+--------+--------+

3 rows in set (0.00 sec)

如果我们不关心列的总数及其数据类型,MySQL将引发错误,如下所示:

mysql> Insert into student values(400,'Raman',M.Tech);
ERROR 1054 (42S22): Unknown column 'M.Tech' in 'field list'

mysql> Insert into student values(400,'Raman');
ERROR 1136 (21S01): Column count doesn't match value count at row 1
猜你喜欢