Het probleem hier is het verschil in syntaxis tussen verschillende MySQL-serverversies. Het lijkt erop dat uw MySQL-werkbankversie 8.0 . is en hoger. De code die automatisch wordt gegenereerd, is van toepassing op de MySQL-server versie 8.0 .
U moet ofwel uw MySQL server . upgraden versie naar 8.0 en hoger. Of u kunt de VISIBLE
. verwijderen trefwoord uit alle plaatsen (waar Index wordt gedefinieerd), zoals hieronder:
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE
naar
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),
U moet hetzelfde doen bij andere delen van uw zoekopdrachten.
Aanvullende details
Van de MySQL Server 8.0-documenten
, de syntaxis voor CREATE INDEX
is:
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}
Deze optie van {VISIBLE | INVISIBLE}
is niet beschikbaar in de MySQL Server 5.5 (uw serverversie
). Van Documenten
:
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}