Problemem jest tutaj różnica w składni w różnych wersjach serwera MySQL. Wygląda na to, że twoja wersja środowiska pracy MySQL to 8.0 i powyżej. Kod, który generuje automatycznie, dotyczy serwera MySQL w wersji 8.0 .
Musisz zaktualizować swój serwer MySQL wersja do 8.0 i nowszych. Lub możesz usunąć VISIBLE
słowo kluczowe ze wszystkich miejsc (w których definiowany jest indeks), jak poniżej:
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE
do
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),
Będziesz musiał zrobić to samo w innych częściach zapytań.
Dodatkowe szczegóły
Z dokumentacji MySQL Server 8.0
, składnia CREATE INDEX
jest:
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}
Jednak ta opcja {VISIBLE | INVISIBLE}
nie jest dostępna w MySQL Server 5.5 (Twoja wersja serwera
). Z Dokumentów
:
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}