XAMPP 内の MySQL Workbench で SQL コマンドを実行すると、エラー 1064: 「SQL 構文にエラーがあります。 」サーバーのステータスが正常に見えても、このエラーは予期せず発生する可能性があります。
この特定の例では、動物テーブルにインデックスを追加するときに VISIBLE キーワードを使用することが問題です:
ALTER TABLE `puppies`.`animals` ADD INDEX `Breed_idx` (`BreedID` ASC) VISIBLE;
このエラーを解決するには、MySQL では認識されないため、VISIBLE キーワードを削除するだけです。修正されたステートメントは次のとおりです:
ALTER TABLE `puppies`.`animals` ADD INDEX `Breed_idx` (`BreedID` ASC);
VISIBLE を削除した後、エラーなしで実行が続行されるはずです。
MySQL と MariaDB の違いを理解する
この問題は、MySQL と MariaDB の構文の違いに関する誤解により発生します。 XAMPP はデフォルトで MariaDB を利用しますが、これには特定の面で異なる構文があります。 VISIBLE キーワードは MySQL でのみ適用できます。
MariaDB では、可視性を指定せずにインデックスを作成すると、暗黙的にインデックスが可視としてマークされます。したがって、VISIBLE キーワードを明示的に含める必要はありません。
参考資料
この主題の詳細については、次のリソースを参照してください。
以上がXAMPP でインデックスを追加すると MySQL エラー 1064 が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。