在服务器中执行SQL脚本
错误:错误1064:您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以在'VISIBLE'附近使用正确的语法, 约束
fk_WEEK_WORKOUT
外键(WORKOUT_IdWorkout
) '在第12行
SQL代码:
-- -----------------------------------------------------
-- Table `mydb`.`WEEK`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`WEEK` (
`WeekOne` VARCHAR(27) NOT NULL,
`WeekTwo` VARCHAR(27) NOT NULL,
`WeekThree` VARCHAR(27) NOT NULL,
`WeekFour` VARCHAR(27) NOT NULL,
`IdWeek` INT NOT NULL,
`WORKOUT_IdWorkout` INT NOT NULL,
PRIMARY KEY (`IdWeek`),
INDEX `fk_WEEK_WORKOUT_idx` (`WORKOUT_IdWorkout` ASC) VISIBLE,
CONSTRAINT `fk_WEEK_WORKOUT`
FOREIGN KEY (`WORKOUT_IdWorkout`)
REFERENCES `mydb`.`WORKOUT` (`IdWorkout`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
无论我做了什么更改,我每次都会得到它
答案 0 :(得分:0)
list
关键字的MySQL Invisible Indexes从8.0版开始可用。您可能正在运行早期版本。
该功能称为 invisible 索引:这指出在MySQL的早期版本中,索引始终可见。即使在MySQL 8.0中,除非默认将索引明确定义为VISIBLE
,否则索引都是默认可见的。
您可以从脚本中安全地删除INVISIBLE
关键字,并且在所有版本的MySQL上它都可以正常运行(假设表VISIBLE
存在并且具有唯一列)称为数据类型WORKOUT
的{{1}}。