MySQL 8.0.11上的空间/全文/散列索引和显式索引顺序的使用不正确

时间:2018-04-20 15:56:31

标签: mysql mysql-workbench

我在MySQL Workbench 6.3.10上运行sakila_full.mwb的Forward Engineer。 MySQL Server版本是8.0.11。

    -- -----------------------------------------------------
    -- Table `sakila`.`film_text`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `sakila`.`film_text` (
      `film_id` SMALLINT UNSIGNED NOT NULL,
      `title` VARCHAR(255) NOT NULL,
      `description` TEXT NULL,
      PRIMARY KEY (`film_id`),
      FULLTEXT INDEX `idx_title_description` (`title` ASC, `description` ASC))
    ENGINE = InnoDB

我收到了以下错误。

ERROR: Error 1221: Incorrect usage of spatial/fulltext/hash index and explicit index order

为什么?

UPDATE1

我尝试过全文索引仅适用于TEXT类型的列。在此之后。

    -- -----------------------------------------------------
    -- Table `sakila`.`film_text`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `sakila`.`film_text` (
      `film_id` SMALLINT UNSIGNED NOT NULL,
      `title` VARCHAR(255) NOT NULL,
      `description` TEXT NULL,
      PRIMARY KEY (`film_id`),
      FULLTEXT INDEX `idx_title_description` (`description` ASC))
    ENGINE = InnoDB

但是我得到了同样的错误。

Error Code: 1221. Incorrect usage of spatial/fulltext/hash index and explicit index order

1 个答案:

答案 0 :(得分:3)

那已经自我解决了。 我删除了ASC。

    -- -----------------------------------------------------
    -- Table `sakila`.`film_text`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `sakila`.`film_text` (
      `film_id` SMALLINT UNSIGNED NOT NULL,
      `title` VARCHAR(255) NOT NULL,
      `description` TEXT NULL,
      PRIMARY KEY (`film_id`),
      FULLTEXT INDEX `idx_title_description` (`title`, `description`))
    ENGINE = InnoDB

MySQL Workbench

谢谢。

<强> UPDATE1

MySQL Workbench 8.0.11已修复。