【发布时间】:2019-05-15 13:10:21
【问题描述】:
我正在尝试为库设置数据库,在创建表并尝试创建外键后,我收到此错误 (1064),我不知道该怎么办。我正在使用 MySQL 8
我搜索了,我找不到类似的东西。我发现的只是保留字的问题,我认为在这种情况下不是问题。
ALTER TABLE `project`.`book`
ADD INDEX `pubName_fk_idx` (`pubName` ASC) VISIBLE;
;
ALTER TABLE `project`.`book`
ADD CONSTRAINT `pubName_fk`
FOREIGN KEY (`pubName`)
REFERENCES `project`.`publisher` (`pubName`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
错误信息:
操作失败:将 SQL 脚本应用到 数据库。执行:
ALTER TABLE `project`.`book`
ADD INDEX `pubName_fk_idx` (`pubName` ASC) VISIBLE;
;
ALTER TABLE `project`.`book`
ADD CONSTRAINT `pubName_fk`
FOREIGN KEY (`pubName`)
REFERENCES `project`.`publisher` (`pubName`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ERROR 1064:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 2 行的 '' 附近使用的正确语法 SQL 语句:
ALTER TABLE `project`.`book`
ADD INDEX `pubName_fk_idx` (`pubName` ASC) VISIBLE
【问题讨论】:
-
我玩 MySQL 已经有一段时间了,但会不会有那么任性的额外
;? -
不,我已经尝试过了,我发现唯一可行的方法是删除 INDEX 代码行,但我认为这不是正确的做法。
-
创建索引而不是添加索引?
-
不,还是一样的错误
-
你用的是什么版本的mysql?