我正在尋找一種方法來爲單個列插入數據時執行多個行插入。MySQL:針對單個列的多個插入
下面是示例表:
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | tinyint(4) | NO | PRI | NULL | auto_increment |
| name | varchar(40) | NO | UNI | NULL | |
+-------+-------------+------+-----+---------+----------------+
我希望能夠插入像(「管理」,「作家」,「國防部」,「用戶」,「客人」)將其命名爲每行的列。
MySQL的文檔顯示多個刀片應採用以下格式:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
但是我的發言結束了看起來像這樣:
INSERT INTO User_Role(name) VALUES ('admin','author','mod','user','guest');
而且我得到以下幾點:
ERROR 1136 (21S01):列計數與第1行的值計數不匹配
這意味着它認爲我正在嘗試執行一個si單行插入。
我不確定我是否僅僅在這裏錯過了一些簡單的東西,但在這個用例的MySQL文檔中我沒有看到任何特別的東西。
啊,謝謝!第一次使用多插入語法。我會接受一旦它讓我 – tsgrasser 2010-07-28 18:58:29
你應該也知道這不適用於MSSQL。 MySQL和其他一些支持多個插入,但上次我使用SQL Server時,它不接受該語法。 – 2010-07-28 19:01:51
我知道這是一個非常古老的答案,但只是想我會提到,從2008版本開始,這也適用於MSSQL。 – user1751825 2016-12-22 03:18:44