Я только что столкнулся с похожей проблемой при настройке составного внешнего ключа в phpMyAdmin, и, возможно, мое решение могло бы помочь вам.
Вот мои настройки:
Как вы можете видеть, у меня есть составной первичный ключ в моей таблице ConferenceRoom, часть которого также является внешним ключом к streetaddress
в таблице Office (это может отличаться от вашей проблемы).
На этот составной первичный ключ должна ссылаться составной внешний ключ в таблице InstPicture, но проблема для меня заключалась в том, что, несмотря на то, что phpMyAdmin определил оба индекса как первичные ключи, он будет ссылаться только на столбец name
в ConferenceRoom. первичный ключ, а не столбец office_streetaddress
.
Здесь мне не хватало того, что я не установил связь между ConferenceRoom и Office до того, как попытался установить связь между ConferenceRoom и InstPicture. Я предполагаю, что я забыл сначала обращаться с сильными существами, как того требует методология базы данных.
Когда была определена связь между ConferenceRoom и Office, столбец office_streetaddress
появился в списке проиндексированных столбцов, и на него мог ссылаться столбец conferenceroom_office_streetaddress
в таблице InstPicture.
Надеюсь, это также поможет вам, возможно, попробуйте создать отдельный индекс для вашего столбца Log.Service. Или, если это FK, настройте его отношения и попробуйте снова.