在MySQL工作台中创建我的第一个表有一个小问题。当我创建两个表并查看前向工程进度时,我得到如下消息:
在服务器错误中执行SQL脚本:错误1064:您的SQL语法出现了错误;请检查与MariaDB服务器版本对应的手册,以便在第8行使用接近“索引
fk_person_has_user_person_idx(person_IDASC)可视约束”的正确语法。
SQL代码:
-- -----------------------------------------------------
-- Table `customers`.`person_has_user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `customers`.`person_has_user` (
`person_ID` INT NOT NULL,
`user_person_ID` INT NOT NULL,
PRIMARY KEY (`person_ID`, `user_person_ID`),
INDEX `fk_person_has_user_user1_idx` (`user_person_ID` ASC) VISIBLE,
INDEX `fk_person_has_user_person_idx` (`person_ID` ASC) VISIBLE,
CONSTRAINT `fk_person_has_user_person`
FOREIGN KEY (`person_ID`)
REFERENCES `customers`.`person` (`ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_person_has_user_user1`
FOREIGN KEY (`user_person_ID`)
REFERENCES `customers`.`user` (`person_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
SQL script execution finished: statements: 7 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch有人能解释一下吗?
发布于 2018-12-16 13:23:48
艾德·科特瑞尔是对的。这是MySQL服务器版本与MySQL工作台设置之间的版本不匹配。
SELECT VERSION();让你的服务器告诉你它的版本。然后Workbench将生成适合您实际使用的服务器的代码。
这个错误很可能发生在新用户身上;新下载的Workbench软件默认设置为MySQL 8,但是世界上许多服务器还没有安装在版本8上。
https://stackoverflow.com/questions/53802260
复制相似问题