Php Can';MySQL中的t-drop复合唯一索引

Php Can';MySQL中的t-drop复合唯一索引,php,mysql,laravel,lumen,Php,Mysql,Laravel,Lumen,我有一个Lumen 5.5(MySQL 5.7)应用程序,我在数据库迁移中创建了一个唯一的索引: Schema::table('form_data', function (Blueprint $table){ $table->unique(['organisation_id', 'template_id', 'entity_type_id', 'entity_id'], 'form_data_identifier'); // name of the index is 'fo

我有一个Lumen 5.5(MySQL 5.7)应用程序,我在数据库迁移中创建了一个唯一的索引:

Schema::table('form_data', function (Blueprint $table){
    $table->unique(['organisation_id', 'template_id', 'entity_type_id', 'entity_id'], 'form_data_identifier');
    // name of the index is 'form_data_identifier'
});
向下
迁移中,我尝试删除索引:

Schema::table('form_data', function (Blueprint $table){
    $table->dropUnique('form_data_identifier');
});
但我得到了错误信息:

在Connection.php第664行: SQLSTATE[HY000]:一般错误:1553无法删除索引“form\u data\u identifier”:外键约束中需要索引(SQL:alter table
form\u data
drop index
form\u data\u identifier


我自己也尝试过使用
DROP INDEX x on y
ALTER TABLE y DROP INDEX x
语法直接在数据库上运行查询,但得到了相同的错误。我已经检查过了,这个索引
表单数据\u标识符
没有被任何其他表或键引用。(注意:组成唯一键的一些键是外键,但我认为这不应该是问题。)


我可能缺少什么?

“注意:组成唯一键的一些键是外键,但我认为这不应该是一个问题”-正如错误消息所说,这是一个问题。如何解决?如果我不清楚,我的意思是
organization\u id
template\u id
分别参考
organizations
templates
表格上的
id
。这能阻止我删除另一个索引吗?如果我想先删除那些列的话,那不是反过来吗?外键(约束)和索引是两件不同的事情。外键总是需要一个支持约束检查的索引(在两个表上)。是否有一个表将其中一个字段标记为外键?这将停止删除该字段。请参阅以了解如何使用外键查找表。