Puoi creare una chiave esterna solo su una tabella che fa riferimento a una chiave su un'altra tabella. Questo problema specifico è che memberid
non è una chiave né su groupmembers
o rolemembers
tavoli. Aggiungi semplicemente KEY (memberid)
a quei tavoli e sarai a posto.
Un altro problema è che i tipi di chiavi esterne devono corrispondere. eventgroup
ha groupid varchar
, ma fa riferimento ai groups
tabella, che ha groupid INT
. Correggi questo.
Per quanto riguarda i suggerimenti, consiglio vivamente che ogni chiave primaria sia solo una colonna:la tua chiave surrogata con incremento automatico. Dovresti creare anche questi numeri interi senza segno.