2012-05-07 16 views
0

私は特定のWHERE句でクラッシュするMySQLクエリを持っています。それはtable has crashed and needs to be repairedと言います。特定のWHERE条件でMySQLクエリが中断する

このクエリは動作します:

SELECT 
    DirectionId 
FROM 
    Messages 
WHERE 
    CustomField1 = 56 AND DirectionId = 1 

この1つはない

SELECT 
    DirectionId 
FROM 
    Messages 
WHERE 
    CustomField1 = 209 AND DirectionId = 1 

を行います。しかし、私はこれを行う場合、それは動作します:

SELECT 
    DirectionId 
FROM 
    Messages 
WHERE 
    CustomField1 = 209 

それとも、このことはまた

SELECT 
    DirectionId 
FROM 
    Messages 
WHERE 
    DirectionId = 1 
の作品

アイデア?

+2

をあなたの質問にTABLE Messages'をCREATE SHOW 'の出力を追加してください。 'KEY(CustomField1、DirectionId)'(または同様の)インデックスが壊れていて再構築が必要なようです。 – Kaii

+3

を試してみるには、MySQL CLIで 'REPAIR TABLE Messages'を実行してください。 – Kaii

+0

テーブルの構造を表示できますか? – sree

答えて

0

あなたのインデックスを修復するためにMySQLの内部クリーンアップ・ルーチンを使用してみてください:MySQLのCLIに

タイプこの:

REPAIR TABLE Messages