如何在不指定 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

更新時間: 19-06-2020

2K+ 瀏覽次數

啟動你的 職業

透過完成課程獲得認證

開始
廣告