Você só pode criar uma chave estrangeira em uma tabela que faça referência a uma chave em outra tabela. Este problema específico é que
memberid
não é uma chave em nenhum dos groupmembers
ou rolemembers
mesas. Basta adicionar KEY (memberid)
para essas mesas e você estará pronto para ir. Outra questão é que os tipos de chave estrangeira devem corresponder.
eventgroup
tem groupid varchar
, mas está referenciando os groups
tabela, que tem groupid INT
. Corrija isso. Quanto às sugestões, recomendo fortemente que cada chave primária seja apenas uma coluna:sua chave substituta de incremento automático. Você deve fazer esses inteiros sem sinal também.