我正在尝试为库设置数据库,并且在创建表并尝试创建外键之后出现此错误(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;
错误1064:您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取在第2行的''附近使用的正确语法 SQL语句:
ALTER TABLE `project`.`book`
ADD INDEX `pubName_fk_idx` (`pubName` ASC) VISIBLE
答案 0 :(得分:1)
如果您使用的是低于8.0的MariaDB或MySQL,则它们尚未增加VISIBLE或INVISIBLE索引,因此您需要更改查询:
ALTER TABLE `project`.`book`
ADD INDEX `pubName_fk_idx` (`pubName` ASC)