phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

MySQL Workbench e phpMyadmin

Il problema qui è la differenza di sintassi tra le diverse versioni del server MySQL. Sembra che la tua versione del workbench di MySQL sia 8.0 e al di sopra. Il codice che sta generando automaticamente è applicabile per il server MySQL versione 8.0 .

Dovrai aggiornare il tuo server MySQL versione a 8.0 e successive. Oppure puoi rimuovere il VISIBLE parola chiave da tutti i luoghi (dove viene definito l'indice), come di seguito:

INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC) VISIBLE, -- <-- remove VISIBLE

a

INDEX `fk_TeamStatistik_Team_idx` (`Team_id` ASC),

Dovrai fare la stessa cosa anche in altre parti delle tue query.

Dettagli aggiuntivi

Dai Documenti di MySQL Server 8.0 , la sintassi per 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}

Tuttavia, questa opzione di {VISIBLE | INVISIBLE} non è disponibile in MySQL Server 5.5 (la tua versione del server ). Da Documenti :

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}