MySQL 如何在MySQL的INSERT INTO语句中未指定列名的情况下插入列的值?
如果要在INSERT INTO语句中未指定列名的情况下插入列的值,则必须给出与表中列数相匹配的值的数量,并同时考虑该列的数据类型。
阅读更多:MySQL 教程
示例
在下面的示例中,我们已经插入了未指定列名的值。
mysql> Insert into student values(100,'Gaurav','Ph.D');
Query OK, 1 row affected (0.08 sec)
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');
Query OK, 2 rows affected (0.12 sec)
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