当我尝试使用前向工程师生成数据库时,出现这样的错误。
在服务器中执行SQL脚本
错误:错误1064:您的SQL语法有错误;检查 与您的MySQL服务器版本相对应的手册 在'VISIBLE,INDEX
_ = (UIApplication.visibleNavigationController.visibleViewController as! EditImageControl).editImageContainer.addConstraintForAspectRatio(21/22) (UIApplication.visibleNavigationController.visibleViewController as! EditImageControl).editImageContainer.layoutSubviews() print("horizontal.. ")
附近使用的语法 (fk_Personal_Human1_idx
ASC)可见,请对照第12行
SQL代码:
Human_idMan
SQL脚本执行完成:语句:成功7次,失败1次
以最终形式获取后视图定义。 什么都没拿
答案 0 :(得分:0)
这里的问题是不同MySQL服务器版本之间的语法差异。 MySQL Workbench 8.0 正在为MySQL服务器 8.0版自动生成CREATE UNIQUE INDEX
语句。
最有可能是您的MySQL服务器版本<8.0。。您可以从VISIBLE
语句中删除CREATE TABLE
关键字。它将如下所示:
CREATE TABLE IF NOT EXISTS `mydb`.`Personal` (
`idPersonal` INT NOT NULL,
`Experience` INT NULL,
`Department_idDepartment` INT NOT NULL,
`Date_of_accept` DATE NOT NULL,
`Date_of_release` DATE NULL,
`Human_idMan` INT NOT NULL,
PRIMARY KEY (`idPersonal`),
INDEX `fk_Personal_Department1_idx` (`Department_idDepartment` ASC),
INDEX `fk_Personal_Human1_idx` (`Human_idMan` ASC),
CONSTRAINT `fk_Personal_Department1`
FOREIGN KEY (`Department_idDepartment`)
REFERENCES `mydb`.`Department` (`idDepartment`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personal_Human1`
FOREIGN KEY (`Human_idMan`)
REFERENCES `mydb`.`Human` (`idMan`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
在MySQL Server 8.0 Docs中,CREATE INDEX
的语法为:
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part: {col_name [(length)] | (expr)} [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE} -- Notice the option of VISIBLE / INVISIBLE
index_type:
USING {BTREE | HASH}
但是, MySQL Server 5.7 中没有{VISIBLE | INVISIBLE}
的此选项。来自Docs:
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part:
col_name [(length)] [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
index_type:
USING {BTREE | HASH}