为什么执行脚本时脚本中会出现错误1064

时间:2018-12-21 02:24:31

标签: mariadb mysql-workbench mariasql

MySQL

  

错误代码:1064。您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在第7行的')ENGINE = InnoDB'附近使用正确的语法

CREATE TABLE IF NOT EXISTS `game_review`.`users` (
  `user_id` INT NOT NULL AUTO_INCREMENT,
  `email_address` VARCHAR(45) NOT NULL,
  `password` VARCHAR(6) NOT NULL,
  `username` VARCHAR(20) NOT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC) VISIBLE)
ENGINE = InnoDB;

我希望此操作能够正确执行,因为我已使用自己创建的ER图对它进行了正向工程设计,但它给了我上面的错误消息。

1 个答案:

答案 0 :(得分:0)

MariaDB不支持不可见索引,因此不使用VISIBLEINVISIBLE关键字。默认情况下,索引对于优化器已经可见,因此您可以使用:

UNIQUE INDEX user_id_UNIQUE (user_id)

但是,主键列应该已经是唯一的,因此您甚至可能根本不包括唯一索引。

侧面说明:MySQL 8+确实支持不可见索引see here,但是您的MariaDB版本似乎不支持它们。