Masalahnya di sini adalah perbedaan sintaks di berbagai versi server MySQL. Tampaknya versi meja kerja MySQL Anda adalah 8.0 dan di atas. Kode yang dihasilkan secara otomatis berlaku untuk server MySQL versi 8.0 .
Anda perlu memutakhirkan server MySQL Anda versi 8.0 ke atas. Atau, Anda dapat menghapus VISIBLE
kata kunci dari semua tempat (di mana Indeks sedang ditentukan), seperti di bawah ini:
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE
untuk
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),
Anda juga perlu melakukan hal yang sama di bagian lain dari kueri Anda.
Detail Tambahan
Dari MySQL Server 8.0 Documents
, sintaks untuk CREATE INDEX
adalah:
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}
Namun, opsi {VISIBLE | INVISIBLE}
tidak tersedia di MySQL Server 5.5 (versi Server Anda
). Dari Dokumen
:
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}