为什么MYSQL在尝试添加外键时出错?

为什么MYSQL在尝试添加外键时出错?,mysql,sql,foreign-keys,cascade,Mysql,Sql,Foreign Keys,Cascade,我正在尝试用MYSQL创建一个关系数据库。 目前,我正在制作外键并将它们连接到父表。 问题是当我尝试这样做时(在MYSQL workbench中),MYSQL添加了以下代码行: ADD INDEX `FK_party_coalitionparty_idx` (`partyId` ASC) VISIBLE; 经过一些研究,我发现这样做是因为当我删除或更新父表时,当子表也删除或更新连接的值(或列)时,它非常方便 问题是当我运行外键代码时,没有添加索引行,它运行起来没有问题,但是添加了它(我想我理解

我正在尝试用MYSQL创建一个关系数据库。 目前,我正在制作外键并将它们连接到父表。 问题是当我尝试这样做时(在MYSQL workbench中),MYSQL添加了以下代码行:

ADD INDEX `FK_party_coalitionparty_idx` (`partyId` ASC) VISIBLE;
经过一些研究,我发现这样做是因为当我删除或更新父表时,当子表也删除或更新连接的值(或列)时,它非常方便

问题是当我运行外键代码时,没有添加索引行,它运行起来没有问题,但是添加了它(我想我理解为什么添加它很好),它会出错,并且不想执行代码来更新我的数据库

当我尝试在SQL文件中执行代码时,会出现以下错误,其中的单词为VISIBLE:

VISIBLE is not valid at this position.
当我只尝试删除可见的单词时,它无法添加我的约束(我认为,因为您不能将两次添加放在彼此下方)。我将包括一些截图和消息日志,以使我的问题更清楚

消息日志:

Operation failed: There was an error while applying the SQL script to the database.
Executing:
ALTER TABLE `testdatabase`.`coalitionparty` 
ADD INDEX `FK_party_coalitionparty_idx` (`partyId` ASC) VISIBLE;
;
ALTER TABLE `testdatabase`.`coalitionparty` 
ADD CONSTRAINT `FK_party_coalitionparty`
  FOREIGN KEY (`partyId`)
  REFERENCES `testdatabase`.`party` (`id`)
  ON DELETE CASCADE
  ON UPDATE CASCADE;

ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 2
SQL Statement:
ALTER TABLE `testdatabase`.`coalitionparty` 
ADD INDEX `FK_party_coalitionparty_idx` (`partyId` ASC) VISIBLE
我的SQL文件(当我尝试运行SQL代码但不使用workbench菜单时:

问题: 我需要如何解决这个问题,以便我能够使用cascade而不会出现错误


提前感谢!

Mariadb没有可见的

查看手册了解更多信息

所以你只能这样做

ALTER TABLE `coalitionparty` 
ADD INDEX `FK_party_coalitionparty_idx` (`partyId` ASC) ;

或者切换到mysql

删除可见的