mysql表复制到另一表后发现数据总数有变

[mysql] 2021-10-26 圈点701

摘要:mysql的MyISAM表复制到另一引innodb擎表后发现数据总数有变,count总数量竟然不相同...稍微查了一下所有的id值,发现中间没有遗漏。难道是zz表没有索引而造成"消失"吗?做个记录,有空再研究。

mysql的MyISAM表复制到另一引innodb擎表后发现数据总数有变,过程如下:


用如下命令将z表复制到zz表:

create table zz select * from z;


发现几个问题:

1,原表z的主键没有复制到zz表,zz表中没有任何健但字段存在

2,原来是MyISAM引擎,因数据库默认innodb,所以zz表是innodb引擎。

3,按id排序,原表z最大410720,zz也一样

4,count原表有 410720 行,但zz表少了100来行。

5,原表z数据量是27M+14M索引;后表zz是34M。


问题:count总数量竟然不相同...稍微查了一下所有的id值,发现中间没有遗漏。难道是zz表没有索引而造成"消失"吗?做个记录,有空再研究。


然后重新复制表结构包含键,然后复制数据,表内容全部相同了,先做正事。


原来是还有程序在运行,有缓存,造成数据不一致。

mysql  

感谢反馈,已提交成功,审核后即会显示