O problema aqui é a diferença de sintaxe entre as diferentes versões do servidor MySQL. Parece que sua versão do MySQL workbench é 8.0 e acima. O código que está sendo gerado automaticamente é aplicável ao servidor MySQL versão 8.0 .
Você precisará atualizar seu servidor MySQL versão para 8.0 e superior. Ou você pode remover o
VISIBLE
palavra-chave de todos os lugares (onde Index está sendo definido), como abaixo:INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE
para
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),
Você precisará fazer a mesma coisa em outras partes de suas consultas também.
Detalhes adicionais
Do Documentos do MySQL Server 8.0 , a sintaxe para
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}
No entanto, esta opção de
{VISIBLE | INVISIBLE}
não está disponível no MySQL Server 5.5 (sua versão do servidor
). De Documentos
: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}