This sequence causes the same errors:
ALTER TABLE postsearch DISABLE KEYS; delete from postsearch where postId=65031 limit 1; ALTER TABLE postsearch ENABLE KEYS;
#1034 - Incorrect key file for table: 'postsearch'. Try to repair it
Could this be a bug, as hinted at here by people using 4.1: http://bugs.mysql.com/bug.php?id=3822 http://bugs.mysql.com/bug.php?id=3808
? Jim
Jim wrote:
gerald_clark wrote:
Hardware?
Celeron 1.3Ghz, IDE drive, 512Mb RAM
OS and version?
GNU/Linux, 2.4.20-8 kernel
MySql version?
4.0.17
Size of data file? Size of index file?
postsearch.frm 8.7K postsearch.MYD 3.5G postsearch.MYI 1.0G postsearch.TMD 3.5G
Filesystem type?
ext3
Sorry 'bout that!
Also, in the time since posting the question below, I tried the operation again (after repairing things), but I did a ALTER TABLE ___ DISABLE KEYS before and an ENABLE KEYS after. This did not work, as although the DB seemed to be working afterwards,
mysql> describe postsearch; ERROR 1016: Can't open file: 'postsearch.MYI'. (errno: 144)
So now I am repairing again.
Thanks for your interest, Jim
I have a table with several keys. When I try to delete anything from this table, I get data corruption and have to repair it with myisamchk. Selects, updates work fine.
Here's the create table statement:
CREATE TABLE `postsearch` ( `postId` int(11) NOT NULL default '0', `weblogId` int(11) NOT NULL default '0', `url` varchar(200) NOT NULL default '', `plink` varchar(200) NOT NULL default '', `image` varchar(100) default NULL, `language` varchar(100) default NULL, `title` varchar(100) default NULL, `weblogTitle` varchar(100) default NULL, `dateCreated` datetime NOT NULL default '0000-00-00 00:00:00', `post` text, `excerpt` text, `parserVersion` varchar(255) default NULL, PRIMARY KEY (`postId`), KEY `weblog_key` (`weblogId`,`dateCreated`), KEY `url_key` (`url`), KEY `plink_key` (`plink`), FULLTEXT KEY `excerpt` (`excerpt`) ) TYPE=MyISAM
I think I have to somehow disable the keys, but am not sure quite how.
Here's what happens when I try to delete:
mysql> select postId from postsearch where dateCreated < NOW() - INTERVAL 14 DAY limit 1;
+--------+
| postId |
+--------+
| 65031 |
+--------+
1 row in set (0.10 sec)
mysql> delete from postsearch where postId=65031 limit 1; ERROR 1034: Incorrect key file for table: 'postsearch'. Try to repair it
Anybody have any idea?
Jim
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]