关于MySQL存储过程批量Insert插入数据

a.jpg
    由于测试需要,要在表中添加部分数据,但由于我用户名字段设置了唯一索引导致手动插入变得异常累。
所以就想着有没有循环能够代替人工,查了一下资料,发现可以使用存储过程,便自己尝试了一下,代码如下(已附上注释_如有错误的地方还请大佬指出):
delimiter $$--声明存储过程结束符号
create procedure pre()--创建存储过程
begin--存储过程主体开始
declare i int;--声明变量
set i = 5;--初始值
while i<200 do--循环条件
insert into user(id,userName,password,email,sex,flag,status) values(null,'user'+i,'123','user'+i+'@admin.com','男',0,0);--执行语句
set i=i+1;--循环变量自增
end while;--结束循环
end--存储过程主体结束
$$--存储过程结束

call pre()--执行存储过程
执行完之后提示错误,错误代码如下:
Truncated incorrect DOUBLE value
提示字段值错误,检查了一下语句,唯一可疑的就是拼接变量i的那里,这时才想起来数据库自带的拼接函数CONCAT,于是将Insert语句那里修改了一下,代码如下:
insert into user(id,userName,password,email,sex,flag,status) values(null,CONCAT('user',i),'123',CONCAT('user',i,'@admin.com'),'男',0,0);--执行语句
再次执行,还有报错,提示代码如下:
1304 - PROCEDURE pre already exists
这次报错就很容易看出了,存储过程已存在,我们使用下面这行代码查看:
show procedure status;
会发现我们第一次创建的存储过程已经存在,不会自动覆盖,这时我们使用Drop命令删除该存储过程:
drop procedure if exists pre;
    删除之后,我们再次执行,就可以成功插入了(期间可能会卡几秒_因为数据正在插入),插入完成后我们使用SELECT语句查询一下,一切正常。
到此,关于MySQL存储过程批量Insert循环插入数据就已经解决了,如有疑问,还请在文章下方留言反馈哦。
作者:徐先森 文章名: 《关于MySQL存储过程批量Insert插入数据》
收录情况: 百度已收录
版权说明:若无特别注明,本文皆为 "徐博客”原创,转载请保留出处!

相关推荐

发表评论

路人甲
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(13)

Snovitra Super Power No Prescription  allennaalony https://bbuycialisss.com/# - tadalista vs cialis Taignareenue cialis precio farmacia madrid  Dayday <a href=https://bbuycialisss.com/#>Cialis</a> smoommewerly Amoxicillin Cause Brown Teeth
Purnich 4周前 (2020-07-13) 回复
Phenergan Without Prescription  <a href=https://viacialisns.com/>Cialis</a> Cialis Generika Kaufen Deutschland  <a href=https://viacialisns.com/#>cialis professional</a> Precio Viagra Y Cialis
BoryFeexy 2个月前 (2020-06-13) 回复
Purchase Effexor Xr  <a href=https://abuycialisb.com/#>buy cialis online prescription</a> Kamagra Pills Paypal  <a href=https://abuycialisb.com/#>Cialis</a> Compra Levitra
JanVurl 4个月前 (2020-04-27) 回复
3000mg Amoxicillin A Day  <a href=https://apcialisle.com/#>Cialis</a> Cialis Originale Controindicazioni  <a href=https://apcialisle.com/#>buy cialis online canada</a> Find isotretinoin best website
Stephar 5个月前 (2020-03-23) 回复
Canadian Mail Order Pharmacy  <a href=https://apcialisle.com/#>buy cialis online from canada</a> For Sale Bentyl Dibent  <a href=https://apcialisle.com/#>Cialis</a> Zithromax And Breastfeeding
JanVurl 5个月前 (2020-03-23) 回复
Viagra Super Force  http://apcialisle.com/# - generic 5mg cialis best price Cialis Italia  <a href=http://apcialisle.com/#>cialis</a> Does Alcohol Interact With Amoxicillin
Lesbemi 5个月前 (2020-03-05) 回复
Cialis In Welchen Landern Rezeptfrei  http://viacialisns.com/# - Buy Cialis Erectile Dysfunction In Mens  <a href=http://viacialisns.com/#>Cialis</a> Cialis 20mg Fta 4st
MatExping 5个月前 (2020-02-29) 回复
Cialis 20mg Vs 10mg  http://cheapcialisir.com - Cheap Cialis Hydrochlorothiazide 25 Mg For Sale  <a href=http://cheapcialisir.com>cialis 5 mg</a> order accutane online from canada
Stevfeen 6个月前 (2020-02-27) 回复
Bentyl Express Delivery  http://abuycialisb.com - Cialis How To Buy Amoxicillin On Line  <a href=http://abuycialisb.com>cheapest cialis</a> Durer Plus Longtemps
Lesbemi 6个月前 (2020-02-09) 回复
Effet Viagra Sur Jeune  http://ggenericcialisle.com - Cialis Levitra Brand Online  <a href=http://ggenericcialisle.com>Buy Cialis</a> Generic Hydrochlorothiazide Saturday Delivery
Lesbemi 6个月前 (2020-01-29) 回复
1 2