1

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 图对其进行了转发设计,但它给了我上面的错误消息。

4

1 回答 1

1

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

UNIQUE INDEX user_id_UNIQUE (user_id)

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

旁注:MySQL 8+ 确实支持不可见索引,请参见此处,但您的 MariaDB 版本似乎不支持它们。

于 2018-12-21T02:34:33.367 回答