最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql关联表主键重刷

来源:动视网 责编:小采 时间:2020-11-09 16:11:22
文档

mysql关联表主键重刷

mysql关联表主键重刷:无详细内容 无 --备份数据库--mysqldump -h localhost -uroot -p123456 database dump.sql--初始化interfaceType--先处理掉select it_id ,count(*) as sum from server_interfaces group by it_id having
推荐度:
导读mysql关联表主键重刷:无详细内容 无 --备份数据库--mysqldump -h localhost -uroot -p123456 database dump.sql--初始化interfaceType--先处理掉select it_id ,count(*) as sum from server_interfaces group by it_id having


无详细内容 无 --备份数据库--mysqldump -h localhost -uroot -p123456 database dump.sql--初始化interfaceType--先处理掉select it_id ,count(*) as sum from server_interfaces group by it_id having sum1drop table interfaces_type;create table interf

<无详细内容> <无> $velocityCount-->
--备份数据库
--mysqldump -h localhost -uroot -p123456 database > dump.sql
--初始化interfaceType

--先处理掉
select it_id ,count(*) as sum from server_interfaces group by it_id having sum>1

drop table interfaces_type;
create table interfaces_type
(
	id int(5) NOT NULL AUTO_INCREMENT primary key comment '主键,作为接口id的前缀',
	type_name varchar(20) not null comment '接口类型名称',
	max_it_id int(11) comment '接口类型的接口id最大值'	
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

insert into interfaces_type(type_name) select distinct it_type from interfaces;
update interfaces_type set max_it_id=id*10000 ;

drop PROCEDURE resetInterfaceType;
delimiter //
CREATE PROCEDURE resetInterfaceType()
BEGIN
	DECLARE minId INT;
	DECLARE maxId INT;
	SELECT max(id) into maxId from interfaces_type ;
	update interfaces_type set id=id+maxId;
	SELECT min(id) into minId from interfaces_type ;
	update interfaces_type set id=id-minId+1;
	update interfaces_type set max_it_id=id*10000;
END//
delimiter ;
call resetInterfaceType();


drop PROCEDURE resetInterface;
delimiter //
CREATE PROCEDURE resetInterface()
BEGIN
	declare itType varchar(20) ;
	declare beginId int(11);
 declare itCount int(11);
	declare itId int(11);
	declare isFinished boolean default false; 
 declare maxItId int(11);
 declare maxItId2 int(11);
 DECLARE ittCursor CURSOR FOR select type_name,max_it_id from interfaces_type;
 DECLARE itCursor CURSOR FOR select it_id from interfaces where it_type=itType;
 declare continue handler for not found set isFinished=true; 	
 select max(it_id) into maxItId from interfaces;
 select max(it_id) into maxItId2 from server_interfaces;
 update interfaces set it_id=it_id+maxItId+maxItId2;
 update server_interfaces set it_id=it_id+maxItId+maxItId2;
	OPEN ittCursor;
 repeat
	begin
 FETCH ittCursor INTO itType,beginId; 
 if not isFinished then 
	begin
 open itCursor ;
 repeat
	begin
	 fetch itCursor into itId;
 if not isFinished then 
	 begin
 update interfaces set it_id=beginId where it_id=itId;
 update server_interfaces set it_id=beginId where it_id=itId;
 set beginId=beginId+1;
	 end;
	 end if; 
	end;
 until isFinished end repeat; 
	 close itCursor; 
	 update interfaces_type set max_it_id=beginId+1 where type_name=itType;
 set isFinished=false; 
	end;
	end if; 
 end;
 until isFinished end repeat; 
	CLOSE ittCursor;
END//
delimiter ;
call resetInterface();

文档

mysql关联表主键重刷

mysql关联表主键重刷:无详细内容 无 --备份数据库--mysqldump -h localhost -uroot -p123456 database dump.sql--初始化interfaceType--先处理掉select it_id ,count(*) as sum from server_interfaces group by it_id having
推荐度:
标签: 备份 id 内容
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top