mysql中批量添加一定规则的数据

在工作的过程中遇到问题

测试人员要求添加100个用于用户名为wa000001 - wa000100 其他字段保持不变

简化表数据如下:

表名:t_user   ,user_id 为自增长主键

user_id   user_name

     7             wl

     9              ee

上面是原有表数据


要实现这个功能可以借助系统表information_schema   实现如下:

定义变量 

 set @x = 0

select @x :=@x +1 seq from information_schema.COLUMNS limit 100

运行结果:

seq

1
2
3
4
5
6

.

.

100

将上面的sql语句和t_user表连接可得到想要的效果

运行之前必须将变量在设置为0
set @x = 0

INSERT t_user(user_name)SELECT
concat(‘wa000‘, lpad(a.seq, 3, ‘0‘))
FROM
(
SELECT
@x :=@x + 1 seq
FROM
information_schema. COLUMNS
LIMIT 100
)a

在查看t_user表

7 wl
9 ee
11 wa000001
13 wa000002
15 wa000003
17 wa000004
19 wa000005
21 wa000006
.

.

209 wa000100

该数据表主键自增长值为2



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。