如何在不指定 MySQL INSERT INTO 语句中列的名称的情况下将值插入到列中?
在 INSERT INTO 语句中不指定列的名称的情况下在列中插入值,我们必须提供与表中的列数匹配的值数,同时还要注意该列的数据类型。
示例
在下面的示例中,我们插入了值而没有指定列的名称。
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
广告