我正在寻找一种方法来为单个列插入数据时执行多个行插入。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