phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

MySQL Workbench e phpMyadmin


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}