sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

¿Restricción de clave externa compuesta a través de PhpMyAdmin?

Acabo de encontrarme con un problema similar al configurar una clave externa compuesta en phpMyAdmin y tal vez mi solución también pueda ayudarlo.

Aquí está mi configuración:

Como puede ver, tengo una clave principal compuesta en mi tabla ConferenceRoom, parte de la cual también es una clave externa para streetaddress en la tabla Office (esto podría diferir de su problema).

Esta clave principal compuesta debe ser referenciada por una clave externa compuesta en la tabla InstPicture, pero el problema para mí fue que, a pesar de haber definido ambos como índices de clave principal, phpMyAdmin solo haría referencia al name columna en la clave principal de ConferenceRoom, y no en office_streetaddress columna.

Lo que me faltaba aquí era que no había configurado la relación entre ConferenceRoom y Office antes tratando de configurar uno entre ConferenceRoom e InstPicture. Supongo que olvidé manejar primero las entidades fuertes, como dicta la metodología de la base de datos.

Una vez definida la relación entre ConferenceRoom y Office, la office_streetaddress columna apareció en la lista de columnas indexadas y podría ser referenciada por conferenceroom_office_streetaddress columna en la tabla InstPicture.

Espero que esto también pueda ayudarlo, tal vez intente crear un índice separado para su columna Log.Service. O si se trata de un FK, configure sus relaciones y vuelva a intentarlo.