网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

mysql怎么循环插入 mysql 循环引用

利用mysql存储过程循环插入新数据并更新

DROP PROCEDURE IF EXISTS excute_job_v340;

创新互联公司于2013年创立,先为赤峰等服务建站,赤峰等地企业,进行企业商务咨询服务。为赤峰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

create procedure excute_job_v340()

begin 

declare rdevid int; //声明参数

declare rech_id int;

declare slot int;

declare new_rech_id int;

declare new_price DOUBLE;//声明参数

declare done INT DEFAULT FALSE;////声明结束标识参数

--  声明游标

DECLARE rdevrech_id CURSOR FOR

select r.id as rdevid,r.rechargeconfig_id as rech_id,r.slot_no as slot from b_device_tbl dev

LEFT JOIN r_device_rechargeconfig_tbl r on dev.id= r.device_id

where dev.dev_typedef_id =7 and dev.masterid is not NULL  and r.rechargeconfig_type=4 and r.is_deleted=0 and                 r.slot_no is not  NULL;

-- 将结束标志绑定到游标

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

-- 打开游标

OPEN  rdevrech_id;   

-- 遍历

read_loop: LOOP

-- 取值

FETCH  NEXT from rdevrech_id INTO rdevid,rech_id,slot;

IF done THEN

LEAVE read_loop;

END IF;// 结束判断

select price into new_price from c_device_rechargeconfig_item_tbl where rechargeconfig_id =rech_id limit 1;

INSERT INTO `c_device_rechargeconfig_tbl` (  `type`, `style_id`, `is_default`, `dev_type_code`, `is_deleted`,                 `create_time`, `slot_no`)

VALUES ( '4', NULL, '0', '0', '0', '2019-08-19 15:59:24',slot );

select max(id) into new_rech_id from c_device_rechargeconfig_tbl ;

INSERT INTO  `c_device_rechargeconfig_item_tbl` (  `price`, `goods`, `description`, `is_deleted`, `create_time`,                         `rechargeconfig_id` )

VALUES (  new_price,new_price, '0.00', '0', '2019-08-19 15:59:24', new_rech_id);

update r_device_rechargeconfig_tbl set rechargeconfig_id=new_rech_id where id=rdevid;

END LOOP;

CLOSE rdevrech_id;

end;

call excute_job_v340() ;//调用执行

mysql循环添加数据

已经测试,创建并运行下面的存储过程可以循环添加数据:

create procedure dowhile()

begin

declare i int default 0;

start transaction;

while i50 do

insert into users(userId,userName,userPwd) values(null,concat('s00',i),123456);

set i=i+1;

end while;

commit;

end;

delimiter;

mysql 怎么循环插入多条数据

一条insert语句批量插入多条记录

常见的insert语句,向数据库中,一条语句只能插入一条数据:

insert into persons

(id_p, lastname , firstName, city )

values(204,'haha' , 'deng' , 'shenzhen');

(如上,仅插入了一条记录)

怎样一次insert插入多条记录呢?

示例:

insert into persons

(id_p, lastname , firstName, city )

values

(200,'haha' , 'deng' , 'shenzhen'),

(201,'haha2' , 'deng' , 'GD'),

(202,'haha3' , 'deng' , 'Beijing');

这样就批量插入数据了, 遵循这样的语法,就可以批量插入数据了。

执行成功


本文名称:mysql怎么循环插入 mysql 循环引用
转载注明:http://bjjierui.cn/article/hpijhp.html

其他资讯