Le problème ici est la différence de syntaxe entre les différentes versions du serveur MySQL. Il semble que votre version de MySQL Workbench soit 8.0 et ci-dessus. Le code qu'il génère automatiquement est applicable pour le serveur MySQL version 8.0 .
Vous devrez soit mettre à niveau votre serveur MySQL version à 8.0 et au-dessus. Ou, vous pouvez supprimer le VISIBLE
mot-clé de tous les endroits (où Index est en cours de définition), comme ci-dessous :
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE
à
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),
Vous devrez également faire la même chose pour d'autres parties de vos requêtes.
Détails supplémentaires
Depuis la Documents MySQL Server 8.0
, la syntaxe pour CREATE INDEX
est :
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}
Cependant, cette option de {VISIBLE | INVISIBLE}
n'est pas disponible dans MySQL Server 5.5 (votre version de serveur
). À partir de Documents
:
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}