无法在MySQL中删除复合唯一索引

时间:2018-06-29 22:01:57

标签: 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 'form_data_identifier'
});

down迁移中,我尝试删除索引:

Schema::table('form_data', function (Blueprint $table){
    $table->dropUnique('form_data_identifier');
});

但是我收到错误消息:

  

在Connection.php第664行中:   SQLSTATE [HY000]:常规错误:1553无法删除索引'form_data_identifier':在外键约束中需要(SQL:alter table form_data删除索引form_data_identifier

我尝试使用DROP INDEX x ON yALTER TABLE y DROP INDEX x语法直接在数据库上直接运行查询,但遇到相同的错误。我已经检查过了,该索引form_data_identifier未被任何其他表或键引用。 (请注意:组成唯一键的某些键是外键,但我认为这不是问题。)

我可能会缺少什么?

0 个答案:

没有答案