ここでの問題は、異なるMySQLサーバーバージョン間での構文の違いです。 MySQLワークベンチのバージョンは8.0のようです 以上。自動生成されるコードは、MySQLサーバーのバージョン8.0に適用できます。 。
MySQLサーバーをアップグレードする必要があります 8.0以降のバージョン。または、VISIBLE
を削除することもできます 以下のように、すべての場所(インデックスが定義されている場所)からのキーワード:
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE
に
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),
クエリの他の部分でも同じことを行う必要があります。
追加の詳細
MySQLServer8.0ドキュメント
から 、CREATE INDEX
の構文 は:
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part: {col_name [(length)] | (expr)} [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE} -- Notice the option of VISIBLE / INVISIBLE
index_type:
USING {BTREE | HASH}
ただし、この{VISIBLE | INVISIBLE}
MySQL Server 5.5では使用できません (サーバーのバージョン
)。 ドキュメント
から :
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part:
col_name [(length)] [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
index_type:
USING {BTREE | HASH}