今天对一个有四百多万数据的表增加一个功能时,当做数据插入时,显示没有插入,到Linux的log下面查看了发现下面这条错误信息
在stacOver上面找到这句:
存储引擎(MyISAM)支持修复表。你应该可以修复它。
如果修复失败,则表示表已损坏,您别无选择,只能从备份中恢复。
如果你有其他的系统(如非生产相同的软件版本和模式)与一个相同的表,那么你可以修复它一些hackery(复制一个MYI文件,然后修复)。
本质上,诀窍是避免首先破坏表。这意味着始终关闭你的数据库干净,从来没有崩溃,从来没有硬件或电力问题。在实践中,这不太可能,所以如果耐用性很重要,您可能需要考虑更安全的存储引擎。
然后我通过一句sql解决了问题:
repaire table table_name