Можете да създадете външен ключ само в една таблица, който препраща към ключ в друга таблица. Този конкретен проблем е този memberid
не е ключ за groupmembers
или rolemembers
маси. Просто добавете KEY (memberid)
до тези маси и ще сте готови.
Друг проблем ни е, че типовете външни ключове трябва да съвпадат. eventgroup
има groupid varchar
, но препраща към groups
таблица, която има groupid INT
. Коригирайте това.
Що се отнася до предложенията, силно препоръчвам всеки първичен ключ да бъде само една колона:вашият сурогатен ключ за автоматично нарастване. Трябва да направите и тези цели числа без знак.