通过向表中添加索引来更改表[MariaDB]

通过向表中添加索引来更改表[MariaDB],mariadb,Mariadb,我有一个表,试图在其中添加索引,但出于某种原因,它会写出一个错误。 我使用的是MySQL Workbench 8.0.17,数据库是10.1.25-MariaDB 使用我的工作台添加索引时出现的错误如下: 这是我第一次尝试,所以我不知道我做错了什么 关于我的表的额外信息:我的一个表名为TestResults,它有以下列: 然后,我创建了一个表,将TestResults和另一个名为testcaserequirement的表链接在一起,这个表名为testresultsrquirementlink

我有一个表,试图在其中添加索引,但出于某种原因,它会写出一个错误。 我使用的是MySQL Workbench 8.0.17,数据库是
10.1.25-MariaDB

使用我的工作台添加索引时出现的错误如下:

这是我第一次尝试,所以我不知道我做错了什么

关于我的表的额外信息:我的一个表名为
TestResults
,它有以下列:

然后,我创建了一个表,将
TestResults
和另一个名为
testcaserequirement
的表链接在一起,这个表名为
testresultsrquirementlink
,它在每一列中都有两个表的id

在这里,我想在
testresultrequirementlink.testresultId
testresultId
之间建立一个索引,并在
testresultrequirementlink.testresultId
testresults.id
之间以及
testresultrequirementlink.requirementId
之间建立一个外键
testcaserequirement.id

编辑

我研究了MariaDB语法,发现了两个示例,但是我的数据库在sql查询运行期间“失去了连接”`


所以我发现了我的问题,MariaDB的语法不同,我找不到正确的编写方法。但在评论的帮助下,我发现了一些有用的东西

#创建索引
更改表“TestResultRequestLink”
添加索引'navn'('testresultId`);
#创建外键
ALTER TABLE testresults添加约束fk_testresultId外键(id)引用TESTRESULTREEQUIREMENTLINK(testresultId);
我在创建外键时遇到的问题,是因为我的一个同伴复制了一个signel测试,这导致了重复的id


感谢您的帮助

欢迎使用堆栈溢出。请学习如何使用堆栈溢出,并阅读如何提高问题的质量。然后检查,看看你可以问什么问题。有关SQL相关问题,请参见。请搜索MariaDB的手册参考,并将我们指向与索引相关的
VISIBLE
。@Akina我查看了MariaDB手册,发现我不应该在索引后写入VISIBLE,因为默认情况下它是可访问的,但现在我的数据库失去了连接(错误)?你知道为什么吗?这可能会有帮助谢谢大家的帮助,我设法找到了解决我所有问题的办法