为什么我的脚本在执行时出现错误 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不支持不可见索引,所以VISIBLE
和INVISIBLE
关键字没有使用。默认情况下,索引已经对优化器可见,因此您可以使用:
UNIQUE INDEX user_id_UNIQUE (user_id)
但是,主键列应该已经是唯一的,因此您甚至可以不包括唯一索引。
旁注:MySQL8+ 确实支持不可见索引,see here,但您的 MariaDB 版本似乎不支持它们。
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不支持不可见索引,所以VISIBLE
和INVISIBLE
关键字没有使用。默认情况下,索引已经对优化器可见,因此您可以使用:
UNIQUE INDEX user_id_UNIQUE (user_id)
但是,主键列应该已经是唯一的,因此您甚至可以不包括唯一索引。
旁注:MySQL8+ 确实支持不可见索引,see here,但您的 MariaDB 版本似乎不支持它们。