Я пытаюсь переместить таблицу, содержащую миллиарды строк, в новый каталог в MySQL 5.6. Я пытаюсь скопировать таблицу1 в таблицу2 и там путем отбрасывания таблицы1, а затем переименовать таблицу2 в таблицу1.auto increment holes in insert statement mysql 5.6
CREATE TABLE `table2` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`col1` int(11) DEFAULT NULL,
`col2` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_col1_col2` (`col1`,`col2`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 DATA DIRECTORY='/mysql_data/';
Эта процедура используется для выполнения этой операции.
DROP PROCEDURE IF EXISTS copytables;
CREATE PROCEDURE `copytables`()
begin
DECLARE v_id INT(11) unsigned default 0;
declare maxid int(11) unsigned default 0;
select max(id) into maxid from table1;
while v_id < maxid do
insert into table2(col1,col2)
select fbpost_id,fbuser_id from table1 where id >= v_id and id <v_id+100000 ;
set v_id=v_id+100000;
select v_id;
select max(id) into maxid from table1;
select maxid;
end while;
end;
Но теперь я получаю пробелы в столбце ид после каждой партии 100000 в table2 (после следующего идентификатора ID 199999 является 262141). Таблица 1 не содержит пробелов в столбце id.