首页 > 解决方案 > 通过向表添加索引来更改表 [MariaDB]

问题描述

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

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

在此处输入图像描述

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

关于我的表的额外信息:我的一张表被调用TestResults,它有以下列:

在此处输入图像描述

然后我制作了一个表,将TestResults另一个表链接testcaserequirement在一起,然后调用这个表,testresultsrequirementlink其中每列中都有两个表的 id。

在此处输入图像描述

在这里,我想创建一个 索引requimrentId,并在and和and 之间创建一个外键testresultIdtestresultsrequirementlink.testresultIdtestresults.idtestresultsrequirementlink.requirementIdtestcaserequirement.id

编辑

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

在此处输入图像描述

标签: mariadb

解决方案


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

#Create indexes
ALTER TABLE `testresultrequirementlink` 
ADD INDEX `navn` (`testresultId` );

#Create foreign keys
ALTER TABLE testresults ADD CONSTRAINT fk_testresultId FOREIGN KEY (id) REFERENCES testresultrequirementlink(testresultId);

我创建外键的问题是因为我的一个伙伴复制了一个signel测试,这导致了重复的id......

谢谢您的帮助


推荐阅读