MySQL 查询后插入或更新导致表损坏解决方法
2011-08-10 21:03
459 查看
影响版本 MySQL 5.0 版本在5.0.70以下;MySQL 5.1 版本在5.1.28 以下
出现过程
/*CREATE TABLE*/ CREATE TABLE `certuserid` ( `certUserID` int(11) NOT NULL auto_increment, `userID` int(11) NOT NULL, `certificateID` int(11) NOT NULL, `usertypeID` int(11) NOT NULL, `createdDatetime` datetime NOT NULL, PRIMARY KEY (`certUserID`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC /*INSERT*/ INSERT INTO certuserid ( userID, certificateID, userTypeID, createdDatetime ) VALUES ( 5, 7, 6, '20080903014257' ) /*SELECT*/ SELECT * FROM certuserid /*ERROR CODE */ Error Code : 1194 Table 'certuserid' is marked as crashed and should be repaired (0 ms taken)
错误消息:Table 'certuserid' is marked as crashed and should be repaired
检查表提示: Found too long record (26) at 0
修复表的时候提示
Table Op Msg_type Msg_text -------------- ------ -------- ---------------------------------------- auc.certuserid repair info Wrong bytesec: 3- 0- 26 at 0; Skipped auc.certuserid repair status Operation failed
解决方法:去掉创建表的时候的 ROW_FORMAT=DYNAMIC
错误解释(关联bug http://bugs.mysql.com/bug.php?id=37310)
http://lists.mysql.com/commits/52560 Problem: data consistency check (maximum record length) for a correct MyISAM table with CHECKSUM=1 and ROW_FORMAT=DYNAMIC option may fail due to wrong inner MyISAM parameter. In result we may have the table marked as 'corrupted'. Fix: properly set MyISAM maximum record length parameter.
相关文章推荐
- 解决MySQL Sending data导致查询很慢问题的方法与思路
- 【mysql】mysql按时间查询没有某些时间导致数据缺失的解决方法
- 解决MySQL Sending data导致查询很慢问题的方法与思路
- MySQL的一条慢SQL查询导致整个网站宕机的解决方法
- MySQL查询结果复制到新表的方法(更新、插入)
- MySQL查询结果复制到新表的方法(更新、插入)
- MySQL的一条慢SQL查询导致整个网站宕机的解决方法
- history_uint损坏致mysql频繁重启导致zabbix_server关闭解决办法
- jenkins中subversion由于服务器时间不一致导致无法更新到最新svn的解决方法
- MySQL插入emoji表情失败问题的解决方法
- mysql主键唯一键重复插入解决方法
- IE浏览器下ajax缓存导致数据不更新的解决方法
- PHP+MySQL查询,Unexpected taken s 错误解决方法
- php更新mysql后获取影响的行数发生异常解决方法
- jsp中使用ajax请求,另一个jsp接受请求插入mysql出现乱码,解决方法
- 文件系统损坏导致虚拟机无法正常启动的问题及解决方法
- mysql插入表中的中文字符显示为乱码或问号的解决方法
- mysql如果数据不存在,则插入新数据,否则更新的实现方法
- jpa缓存导致无法查询到更新后的数据&android出现ANR的一个解决办法
- C# mysql 插入数据,中文乱码的解决方法