sql >> Databáze >  >> RDS >> Mysql

MySQL Workbench:Chyba v dotazu (1064):Chyba syntaxe poblíž 'VIDIBLE' na řádku 1

Problémem je zde rozdíl v syntaxi mezi různými verzemi serveru MySQL. Zdá se, že MySQL Workbench 8.0.12 automaticky generuje CREATE UNIQUE INDEX příkaz pro server MySQL verze 8.0 .

Z Dokumenty MySQL Server 8.0 , syntaxe pro CREATE INDEX je:

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}

Nicméně tato možnost {VISIBLE | INVISIBLE} není k dispozici v MySQL Server 5.7 . Z Dokumenty :

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'   /* No option of VISIBLE / INVISIBLE */

index_type:
    USING {BTREE | HASH}

Pokud nechcete upgradovat na nejnovější verzi MySQL; tuto funkci automatického generování můžete zakázat pomocí VISIBLE / INVISIBLE index:

V MySQL Workbench:

Přejděte na:

Úpravy> Předvolby> Modelování> MySQL.

Poté nastavte "Výchozí cílovou verzi MySQL" na 5.7

Zkontrolujte snímek obrazovky níže:



  1. MySQL:Nejrychlejší způsob, jak spočítat počet řádků

  2. S tímto dotazem implementujte funkci stránkování (přeskočit / vzít).

  3. Proč jsou nástroje pro monitorování cloudové databáze pro SQL Server cenné

  4. Jak ladit překročení časového limitu čekání na zámek na MySQL?