当我只为单列插入数据时,我正在寻找一种方法来进行多行插入。
这是示例表:
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | tinyint(4) | NO | PRI | NULL | auto_increment |
| name | varchar(40) | NO | UNI | NULL | |
+-------+-------------+------+-----+---------+----------------+
我希望能够在每一行的名称列中插入类似 ('admin', 'author', 'mod', 'user', 'guest') 的内容。
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): Column count doesn't match value count at row 1
这意味着它认为我正在尝试进行单行插入。
我不确定我是否只是在这里遗漏了一些简单的东西,但我在 MySQL 文档中没有看到任何关于这个用例的特别内容。