Vấn đề ở đây là sự khác biệt về cú pháp giữa các phiên bản máy chủ MySQL khác nhau. Có vẻ như phiên bản bàn làm việc MySQL của bạn là 8.0 trở lên. Mã mà nó tự động tạo có thể áp dụng cho máy chủ MySQL phiên bản 8.0 .
Bạn sẽ cần phải nâng cấp máy chủ MySQL của mình phiên bản 8.0 trở lên. Hoặc, bạn có thể xóa VISIBLE
từ khóa từ tất cả các nơi (nơi Chỉ mục đang được xác định), như bên dưới:
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE
đến
INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),
Bạn cũng sẽ cần thực hiện điều tương tự ở các phần khác của truy vấn.
Chi tiết bổ sung
Từ Tài liệu MySQL Server 8.0
, cú pháp cho CREATE INDEX
là:
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}
Tuy nhiên, tùy chọn này của {VISIBLE | INVISIBLE}
không khả dụng trong MySQL Server 5.5 ( phiên bản Máy chủ của bạn
). Từ 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}