phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

Vincolo composito della chiave esterna tramite PhpMyAdmin?

Mi sono appena imbattuto in un problema simile durante la configurazione di una chiave esterna composita in phpMyAdmin e forse anche la mia soluzione potrebbe aiutarti.

Ecco la mia configurazione:

Come puoi vedere, ho una chiave primaria composita nella mia tabella ConferenceRoom, parte della quale è anche una chiave esterna per streetaddress nella tabella Office (questo potrebbe differire dal tuo problema).

Questa chiave primaria composita deve essere referenziata da una chiave esterna composita nella tabella InstPicture ma il problema per me era che, nonostante avessi definito entrambi come indici di chiave primaria, phpMyAdmin avrebbe fatto riferimento solo al name colonna nella chiave primaria ConferenceRoom e non nel office_streetaddress colonna.

Quello che mi mancava qui era che non avevo impostato la relazione tra ConferenceRoom e Office prima cercando di impostare quello tra ConferenceRoom e InstPicture. Immagino di aver dimenticato di gestire prima le entità forti, come impone la metodologia del database.

Una volta definita la relazione tra ConferenceRoom e Office, il office_streetaddress è stata visualizzata nell'elenco delle colonne indicizzate e potrebbe essere referenziata da conferenceroom_office_streetaddress colonna nella tabella InstPicture.

Spero che questo possa aiutare anche te, magari prova a creare un indice separato per la tua colonna Log.Service. Oppure, se si tratta di un FK, imposta le sue relazioni e riprova.