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

MySQL Workbench en phpMyadmin

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}


  1. JSON-tabel maken op basis van SQL-query

  2. Kan een opgeslagen procedure niet aan de database toevoegen vanwege een versleutelingsbericht

  3. Een berichtenlijst maken in SQL

  4. PHP maakt HTML-tabel van database