【发布时间】:2020-07-09 09:14:13
【问题描述】:
在服务器中执行 SQL 脚本 错误:错误 1064:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在 ' 附近使用的正确语法 索引
fk_film_actor_actor_id_idx(actor_idASC) 可见, 第 10 行的约束 `fk'
SQL 代码:
-- -----------------------------------------------------
-- Table `baza_filmova`.`film_actor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `baza_filmova`.`film_actor` (
`film_actor_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`film_id` INT(10) UNSIGNED NOT NULL,
`actor_id` INT(10) UNSIGNED NOT NULL,
`role` VARCHAR(45) NOT NULL,
PRIMARY KEY (`film_actor_id`),
INDEX `fk_film_actor_film_id_idx` (`film_id` ASC) VISIBLE,
INDEX `fk_film_actor_actor_id_idx` (`actor_id` ASC) VISIBLE,
CONSTRAINT `fk_film_actor_film_id`
FOREIGN KEY (`film_id`)
REFERENCES `baza_filmova`.`film` (`film_id`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `fk_film_actor_actor_id`
FOREIGN KEY (`actor_id`)
REFERENCES `baza_filmova`.`actor` (`actor_id`)
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB
SQL 脚本执行完成:语句:7 个成功,1 个失败
以最终形式获取回视图定义。 没什么可取的
我正在使用 MySQL Workbench 8.0.18。我开始制作模型,当我点击正向工程时,它只制作表格,bud 并没有制作这个 film_actor。它位于电影桌和演员桌之间的中间桌。
以前有人遇到过同样的错误吗?我该如何解决。
PS:我没有犯语法错误,我多次检查我的表和外键。
【问题讨论】:
-
你运行的是什么版本的 MySQL?
select version()可以告诉你。 -
看看你的版本是否允许
VISIBLE... -
您使用 MariaDB。当应用于CREATE TABLE时,它甚至都不知道“VISIBLE”这个词的存在。
-
点击bugs.mysql.com/bug.php?id=92269上的“影响我”
标签: mysql sql indexing create-table