为什么这个mysql表副本生成重复的行

时间:2018-06-12 15:06:42

标签: mysql database innodb myisam

我做了

insert  t1  select *  from  t2;

通过

创建t1后复制表格
CREATE TABLE t1 (
  `c` text COLLATE utf8_unicode_ci,
  `d` text COLLATE utf8_unicode_ci,
  `count` int(11) DEFAULT NULL,
  `d1` double DEFAULT NULL,
  `d2` int(11) DEFAULT NULL,
  `c1` double DEFAULT NULL,
  `c2` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

原始表和重复表的计数显示69M与80M行,实际上我在复制的表中看到重复的行 - 有人知道为什么会发生这种情况吗?原始表是innodb,副本是myisam,也许这是重复的来源?

1 个答案:

答案 0 :(得分:1)

我总结一下:

确保复制前表t1为空

truncate t1;

然后复制你以前的方式并重新计算。