No details none -- backup database -- mysqldump-hlocalhost-uroot-p123456databasedump. SQL -- initialize interfaceType -- first process selectit_id, count (*) assumfromserver_interfacesgroupbyit_idhavingsum1droptableinterfaces_type; createtableinterf
No details none -- backup database -- mysqldump-h localhost-uroot-p123456 database dump. SQL -- initialize interfaceType -- first process select it_id, count (*) as sum from server_interfaces group by it_id having sum1drop table interfaces_type; create table interf
<无详细内容> <无>
-- Backup database -- mysqldump-h localhost-uroot-p123456 database> dump. SQL -- initialize interfaceType -- first process 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 'Primary key, used as the interface id prefix ', type_name varchar (20) not null comment 'interface type name', max_it_id int (11) comment 'maximum Interface id of the interface type ') 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 () incluminid 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 () BEGINdeclare 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 nation; 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 region; update interfaces set it_id = it_id + maxItId + maxItId2; update server_interfaces set it_id = it_id + maxItId + maxItId2; OPEN ittCursor; required FETCH ittCursor INTO itType, beginId; if not isFinished then begin open itCursor; required 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 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 if; end; until isFinished end repeat; CLOSE ittCursor; END // delimiter; call resetInterface ();