mysql 单列插入,MySQL:单列多次插入

I'm looking for a way to do multiple row inserts when I'm only inserting data for a single column.

Here is the example table:

+-------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+----------------+

| id | tinyint(4) | NO | PRI | NULL | auto_increment |

| name | varchar(40) | NO | UNI | NULL | |

+-------+-------------+------+-----+---------+----------------+

I want to be able to insert something like ('admin', 'author', 'mod', 'user', 'guest') into the name column for each row.

The MySQL documentation shows that multiple inserts should be in the format:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

However my statement ends up looking like this:

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

And I get the following:

ERROR 1136 (21S01): Column count doesn't match value count at row 1

Meaning that it thinks I'm trying to do a single row insert.

I'm not sure if I'm just missing something simple here, but I don't see anything in particular in the MySQL docs for this use case.

解决方案

your syntax is a bit off. put parentheses around each data "set" (meaning a single value in this case) that you are trying to insert.

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值