在MySQL Workbench中创建我的第一个表存在一个小问题。当我创建两个表并进行正向工程进度时,我得到以下消息:
在服务器中执行SQL脚本 错误:错误1064:您的SQL语法有错误; 检查与您的MariaDB服务器版本相对应的手册 在附近使用正确的语法 'INDEX
fk_person_has_user_person_idx
(person_ID
ASC)可见, CONSTRAINT',位于第8行
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
有人可以解释吗?
答案 0 :(得分:0)
Ed Cottrell是正确的。这是您的MySQL服务器版本和MySQL Workbench设置之间的版本不匹配。
SELECT VERSION();
以使您的服务器告诉您其版本。然后,Workbench将生成适合您实际使用的服务器的代码。
新用户很可能会发生此错误;新下载的Workbench软件的默认设置为MySQL 8,但世界上许多服务器尚未使用版本8。