原帖由 乱.码 于 2008-4-17 14:52 发表
MyISAM表结构,发现如果程序经常的insert数据,时间长了后就会出现Duplicate entry ‘xxx’ for key... 的问题,repair表后就回复正常了,ID是autoincrement的,也没有重复的键值,只有一个程序对其进行insert操 ...
原帖由 yueliangdao0608 于 2008-4-17 15:46 发表
坛子上讨论很多了。
设置
auto_increment_increment
和
auto_increment_offset
的值。
原帖由 乱.码 于 2008-4-17 16:40 发表
mysql> desc Syslog;
+-------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------- ...
原帖由 猪知猪之道 于 2008-4-17 17:47 发表
下次出这样的问题建议你
analyze table Syslog; 看表到底有错误没
select MAX(id) from Syslog; 检查ID
show create table Syslog;
看 ) ENGINE=MyISAM AUTO_INCREMENT=1028 DEFAULT CHARSET=latin1 | ...
原帖由 cocolala 于 2008-4-24 00:01 发表
看来这个问题确实比较古怪,mysqlcheck 能解决它,不知道它做了什么事?
看了手册,只知道如果auto_increment列值达到了列的类型的最大值,那么下一次insert时,因为超出范围,mysql会用最大值赋值给auto in ...
原帖由 乱.码 于 2008-4-18 10:33 发表
出问题的时候我用了check 列出了类似这样的错误:
error | Found xxxx keys of yyyy
error | corrupt
其中xxxx != yyyy
select max(id) from Syslog;
返回的值也不等于 最后一条记录的ID
原帖由 乱.码 于 2008-4-25 09:26 发表
这个问题我实在没搞清楚为什么会出现,也不明白为什么会无缘无故出现表损坏的情况,难道myisam经常出现这个问题?不清楚。
因为我并非手动插入数据,而是有个C程序持续的往里写数据,并且是单进程、单线程的, ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |