Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Workbench:Грешка в заявката (1064):Синтактична грешка близо до „VISIBLE“ на ред 1

Проблемът тук е разликата в синтаксиса между различните версии на MySQL сървъра. Изглежда, че MySQL Workbench 8.0.12 автоматично генерира CREATE UNIQUE INDEX изявление за MySQL сървъра версия 8.0 .

От Документите на MySQL Server 8.0 , синтаксисът за 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}

Тази опция обаче на {VISIBLE | INVISIBLE} не е наличен в MySQL Server 5.7 . От Документи :

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}

Ако не искате да надстроите до последната версия на MySQL; можете да деактивирате тази функция за автоматично генериране с VISIBLE / INVISIBLE индекс:

В MySQL Workbench:

Отидете на:

Редактиране> Предпочитания> Моделиране> MySQL.

След това задайте „Целева версия на MySQL по подразбиране“ на 5.7

Вижте екранната снимка по-долу:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Позволете на потребителите на MySQL да създават бази данни, но позволяват достъп само до собствените си бази данни

  2. Създаване на потребител в MySQL

  3. MySQL сървърът изчерпва паметта или не се стартира

  4. Сортиране на полето varchar числово в MySQL

  5. MyCLI – MySQL/MariaDB клиент с автоматично довършване и подчертаване на синтаксиса