繁体   English   中英

MySQL:单个列的多个插入

[英]MySQL: Multiple Inserts for a single column

我只是在为一个列插入数据时,正在寻找一种方法来进行多行插入。

这是示例表:

+-------+-------------+------+-----+---------+----------------+
| 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):列数与第1行的值计数不匹配

这意味着它认为我正在尝试单行插入。

我不确定我是否只是在这里遗漏了一些简单的东西,但我没有在这个用例的MySQL文档中看到任何特别的东西。

你的语法有点偏。 在您尝试插入的每个数据“set”(在本例中为单个值)周围放置括号。

INSERT INTO User_Roll(name) VALUES ('admin'), ('author'), ('mod'), ('user'), ('guest');

我会建议你不要在列中放入多个值。 制作一张新桌子:

     INSERT INTO table_name (id, name) VALUES (1, 'name1'), (1, 'name2'), (1, 'name3'), (1, 'name4');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM