普通のSQLを発行するとINDEXが壊れて、自動リペアなども出来なくなります。
エラーログには日本語訳すると「自動でリペアしようとしたけど失敗しちゃった!!テヘッ」と書かれてます。
おのれ~・・・。こんなトラブルは初めてだ・・。
Got error 124 from storage engine / ERRORNo:1030
MySQL5.0.33(ソースからビルド)で確認しました。
やり方は以下の通りで。
CREATE TABLE TEST(N1 INTEGER, N2 INTEGER);
CREATE INDEX IDX_TEST_01 ON TEST(N1,N2);
INSERT INTO TEST(N1,N2)
SELECT 1,(SELECT MAX(N2)+1 FROM TEST WHERE N1 = 1);
INDEXを貼っていなければ問題はありません。
また、INSERT文中のSELECTの1列目の"1"と2列目のWHERE句中の"1"が異なる場合も問題ありません。2列目のSELECT MAX(N2)がSELECT COUNT(N2)でも問題ありません。2列目のSELECT MAX文で1件でもHITすれば問題ありません。
酷い目にあった・・・。
MySQL5.0.37ではエラーにはなるものの、INDEXが壊れることはない感じです。
くそう・・・。ピンポイントですか(´・ω・)ぷんぷん