внешний ключ

sql Внешние ключи: преимущества, недостатки, альтернативы

Forums:

Внешний ключ (foreign key) — это один или несколько столбцов в таблице, которые ссылаются на первичный ключ в другой таблице. Основное назначение внешних ключей — обеспечить целостность данных в связанных таблицах. Внешний ключ не позволит добавить строку, если не найдет связанного значения первичного ключа в родительской таблице. А также не даст удалить или изменить строку, на которую имеются ссылки. Как правило, внешний ключ указывает на первичный ключ из связанной главной таблицы, но это необязательно должно быть непременным условием.

mysql cannot drop index needed foreign key constraint и тут же Duplicate key name. Ошибки при удалении внешнего ключа

Forums:

Наблюдения

Странная ошибка:

  • при добавлении внешнего ключа автоматически создаётся идекс
  • Внешний ключ удаляем
  • Индекс остаётся удалить его нельзя, так как он якобы используется уже удалённым внешним ключом:

    ERROR 1553 (HY000): Cannot drop index '....': needed in a foreign key constraint

  • Тогда пытаемся снова добавить указанный ключ получаем:

    ERROR 1061 (42000): Duplicate key name '...'

Как-то противоречиво.

Версия базы: 5.7.22

Subscribe to RSS - внешний ключ