mysql存储过程批量更新_MySQL存储过程实现批量插入数据 | 学步园

很久很久没有写篇文章了,主要是找不到写的,还有就是懒得写,但是今天这篇文章必须写的,因为我知道今后肯定还会用到。

好吧,一直都只知道数据库的增删改查,其他的什么事务、存储过程用的很少,今天开始项目代码编写,数据库中用户表居然一条记录都没有,既然没有记录我还怎么查询呢?想往用户表添加20条记录,难道我要一条一条的手动添加,程序员怎么可以这样?????

好吧,写个存储过程!代码如下:

CREATE PROCEDURE InsertUsers()

BEGIN

DECLARE userName VARCHAR(50);

DECLARE userPwd VARCHAR(50);

DECLARE userTureName VARCHAR(50);

DECLARE userTelephone VARCHAR(50);

DECLARE userMobilephone VARCHAR(50);

DECLARE userQq VARCHAR(50);

DECLARE userAddress VARCHAR(50);

DECLARE userEmail VARCHAR(50);

DECLARE userIsFrezee int;

DECLARE userParentId int;

DECLARE userRemark VARCHAR(50);

DECLARE userSpId int;

DECLARE i int;

set userPwd = "123456789";

set userTureName = "testUser";

set userTelephone = "123456789";

set userMobilephone = "123456789";

set userQq = "123456798";

set userAddress = "学府路一段24号";

set userEmail = "asd@qq.com";

set userIsFrezee = 0;

set userParentId = 1;

set userRemark = "test_user";

set userSpId = 1;

set i = 1;

loop1:WHILE(i < 21)

do

Set userName=concat('danger',i);

INSERT into t_user(user_name, user_pwd, user_true_name, user_telephone, user_mobilephone, user_qq_number, user_address, user_email, user_isfrezee, user_parent_id, user_remark, user_sp_id)

VALUES(userName, userPwd, userTureName, userTelephone, userMobilephone, userQq, userAddress, userEmail, userIsFrezee, userParentId, userRemark, userSpId);

SET i = i + 1;

end while loop1;

END

存储过程写好了, CALL IsertUsers()即可;

问题一:SET一个变量的值后,居然不能继续DECLARE另外一个变量,也就是说DECLARE语句不能写在SET语句之后?

例如:

CREATE PROCEDURE test()

BEGIN

DECLARE a VARCHAR(20);

set a = "ddd";

DECLARE b VARCHAR(20);

END;

上面的写法居然报错,改一改位置:

CREATE PROCEDURE test()

BEGIN

DECLARE a VARCHAR(20);

DECLARE b VARCHAR(20);

set a = "ddd";

END;

正确!难道是我哪儿出问题了,对于这样的设计感到很无奈!

问题二:MySQL连接两个字符居然用“+”,

还好有

concat

函数,多好的,还解决了类型转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值