Klucz obcy można utworzyć tylko w jednej tabeli, który odwołuje się do klucza w innej tabeli. Ten konkretny problem polega na tym, że memberid
nie jest kluczem dla groupmembers
lub rolemembers
tabele. Po prostu dodaj KEY (memberid)
do tych stolików i będziesz gotowy.
Kolejna sprawa, że typy kluczy obcych muszą się zgadzać. eventgroup
ma groupid varchar
, ale odwołuje się do groups
tabela, która ma groupid INT
. Popraw to.
Jeśli chodzi o sugestie, bardzo mocno zalecam, aby każdy klucz podstawowy był tylko jedną kolumną:kluczem zastępczym automatycznego przyrostu. Powinieneś także zrobić te liczby całkowite bez znaku.