phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

Restrição de chave estrangeira composta via PhpMyAdmin?


Acabei de encontrar um problema semelhante ao configurar uma chave estrangeira composta no phpMyAdmin e talvez minha solução também possa ajudá-lo.

Aqui está minha configuração:



Como você pode ver, eu tenho uma chave primária composta na minha tabela ConferenceRoom, parte da qual também é uma chave estrangeira para streetaddress na tabela Office (isso pode ser diferente do seu problema).

Esta chave primária composta deve ser referenciada por uma chave estrangeira composta na tabela InstPicture, mas o problema para mim foi que, apesar de ter definido ambos como índices de chave primária, o phpMyAdmin referenciaria apenas o name coluna na chave primária do ConferenceRoom, e não no office_streetaddress coluna.

O que estava faltando aqui era que eu não tinha configurado a relação entre ConferenceRoom e Office antes tentando configurar o entre ConferenceRoom e InstPicture. Acho que esqueci de lidar com as entidades fortes primeiro, como dita a metodologia do banco de dados.

Quando a relação foi definida entre ConferenceRoom e Office, o office_streetaddress coluna apareceu na lista de colunas indexadas e pode ser referenciada pelo conferenceroom_office_streetaddress coluna na tabela InstPicture.

Espero que isso possa ajudá-lo também, talvez tente criar um índice separado para sua coluna Log.Service. Ou se for um FK, configure suas relações e tente novamente.