Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Workbench:Lỗi trong truy vấn (1064):Lỗi cú pháp gần 'VISIBLE' ở dòng 1

Vấn đề ở đây là sự khác biệt về cú pháp giữa các phiên bản máy chủ MySQL khác nhau. Có vẻ như MySQL Workbench 8.0.12 đang tự động tạo CREATE UNIQUE INDEX tuyên bố cho máy chủ MySQL phiên bản 8.0 .

Từ Tài liệu MySQL Server 8.0 , cú pháp cho CREATE INDEX là:

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}

Tuy nhiên, tùy chọn này của {VISIBLE | INVISIBLE} không khả dụng trong MySQL Server 5.7 . Từ Documents :

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}

Nếu bạn không muốn nâng cấp lên phiên bản MySQL mới nhất; bạn có thể tắt tính năng tự động tạo này với VISIBLE / INVISIBLE chỉ mục:

Trong MySQL Workbench:

Đi tới:

Chỉnh sửa> Tùy chọn> Mô hình hóa> MySQL.

Sau đó, đặt "Phiên bản MySQL mục tiêu mặc định" thành 5.7

Kiểm tra ảnh chụp màn hình bên dưới:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tôi có thể Chèn nhiều hàng vào một bảng MySQL và trả về các ID mới?

  2. Cách lấy số bit trong chuỗi trong MySQL - BIT_LENGTH ()

  3. Truy vấn SQL để hiển thị ngày gần nhất?

  4. Cách nhập dữ liệu từ tệp văn bản vào cơ sở dữ liệu mysql

  5. Những gì cần giám sát trong MySQL 8.0