mysql — Drop unique constraint

В моей таблице есть внешний ключ, который также является уникальным ключом.
Как удалить уникальный ключ без удаления внешнего ключа?

Когда я делаю :

ALTER TABLE affaire DROP KEY contact_client_id;

Я получаю : ERROR 1553 (HY000): Cannot drop index 'contact_client_id': needed in a foreign key constraint

1 ответ

  1. Я не думаю, что это возможно, потому что внешние ключи должны быть на индексах .

    MySQL требует индексов на внешних ключах и ссылочных ключах так, чтобы
    проверка внешнего ключа может быть быстрой и не требует проверки таблицы. В
    ссылка на таблицу, должен быть индекс, где внешний ключ
    столбцы перечислены в качестве первых столбцов в том же порядке. Такое
    индекс создается в таблице ссылок автоматически, если это не так
    существовать. Этот индекс может быть автоматически удален позже, если вы создадите
    другой индекс, который можно использовать для применения ограничения внешнего ключа.
    index_name, если задано, используется, как описано ранее.