使用phpmyadmin导入SQL数据报错常见的报错处理措施 1、#1062 - Duplicate entry '...

PHP编程技术 网友投稿 2022-03-17 20:44 1911 0

1、#1062 - Duplicate entry '...


使用phpmyadmin导入SQL数据报错:

  MySQL 返回: #1062 - Duplicate entry '0' for key 'PRIMARY'

  出现此错误的原因是数据的主键重复了,错误信息中显示的这条记录已经被导入了~~

  因为可能由于数据的更新会手工在其中对应的位置插入单条或多条数据,所以导出来的数据经过整理后把主键的自增值清空了,便于手工插入数据。这样在使用PHPMYADMIN导入SQL数据的时候就会报以上错误,

       解决方法如下: 在导入数据的时候导入文件的格式中不要勾选不要给零值使用自增 (AUTO_INCREMENT),这样在导入数据的时候就会给自增主键自动添加值。当然也就不会再报错了,成功导入。


2、#1031 - Table Storage Engine For '' Doesn't Have This Option解决方法

出现了:1031 - Table storage engine for '这里是具体表名' doesn't have this option的错误

5.6是:MyISAM,5.7是:InnoDB。

原来5.6的默认为:ROW_FORMAT=FIXED

但是5.7不支持,我没有具体去看资料,可能是我这个版本吧。

解决方法:

把:ROW_FORMAT=FIXED改成:

ROW_FORMAT=COMPACT

就可以正常导入执行sql了。


3、导出的文件在导入新数据库出现 : table storage engine for doesn't have this option 报错,

报错这一行的内容为: ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED .


突然发现建表的时候,使用的引擎明明是 MyISAM 的,怎么导出之后成了 InnoDB 的了。原来 rds 在建表时,会强制把 MyISAM 引擎转化为 InnoDB. 

但是 row_format=FIXED 特性InnoDB引擎不支持,改成 InnoDB 支持的 row_format=DYNAMIC 即可。



4、mysql升级到5.7.9了,恢复数据时出了2问题

后来发现不知道什么原因  ROW_FORMAT=FIXED不能用了 提示Table storage engine for 'supplier' doesn't have this option


删除  ROW_FORMAT=FIXED即可


2、执行如下两句也出错Table storage engine for 'supplier' doesn't have this option


ALTER TABLE `adjpricebill` DISABLE KEYS


ALTER TABLE `adjpricebill` ENABLE KEYS

最后不得已 注释掉即可


--40000 ALTER TABLE `adjpricebill` DISABLE KEYS --

--40000 ALTER TABLE `adjpricebill` ENABLE KEYS --