为什么我的脚本在执行时出现错误 1064

why is there error 1064 in my script when i executed it

MySQL

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') ENGINE = InnoDB' at line 7

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 图对其进行了前向工程,但它给了我上面的错误消息。

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

UNIQUE INDEX user_id_UNIQUE (user_id)

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

旁注:MySQL8+ 确实支持不可见索引,see here,但您的 MariaDB 版本似乎不支持它们。