2016-10-18 12 views
1

うまくいえば、うまくいえば、うまくいえば、次のような問題が発生している可能性があります。 インデックス作成文が機能します。私はMySQL Workbenchを使用しています。SQLフィルタリングされたインデックスがMySQL Workbenchで動作しない

私はしかし、関係なく、私は次のオンライン見上げる何の適切な構文としてリストされているが、この時点では計り知れない何らかの理由で、インデックスがあるされ、動作するように、次のインデックス作成を取得しようとしている
CREATE INDEX HIRE_DATE_INDEX 
ON Employee (hiredate) 
WHERE hiredate > '2001-01-01'; 

具体的には、where句が正しくない場所にあることを示します。

例では明らかに何かが欠けています。

(文脈では、フィルタリングされたインデックスを作成しようとすると、より大きな日付にしか興味がありません)。

これは地獄のように簡単であるように見えますが、私はここで何が欠けていますか?

答えて

1

WHERE句は必要ありません。しかし、MySQLはフィルタリングされたインデックスをサポートしていません。 (参照here

CREATE INDEX HIRE_DATE_INDEX 
ON Employee (hiredate); 

また、プライマリキーを作成しようとすると、このコマンドは機能しません。その場合は、ALTER TABLEコマンドを使用する必要があります。

+0

私は索引が基本的にソートのために保持されたキーを作成したと思いましたか? – Metric

+0

そうです。しかし、それを達成しようとしているのはMySQLでは不可能です。 – Dez

+0

そうですね、テーブルを変えることができないので、私はいくつかの作業を見つけなければなりません。私の質問に答えてくれてありがとう、私はそれがT_Tだったと思った。 – Metric

関連する問題