Solo puede crear una clave externa en una tabla que haga referencia a una clave en otra tabla. Este problema específico es que memberid
no es una clave en ninguno de los groupmembers
o rolemembers
mesas. Simplemente agregue KEY (memberid)
a esas mesas y estarás listo para ir.
Otro problema es que los tipos de claves externas deben coincidir. eventgroup
tiene groupid varchar
, pero hace referencia a los groups
tabla, que tiene groupid INT
. Corrige esto.
En cuanto a las sugerencias, recomiendo encarecidamente que cada clave principal sea solo una columna:su clave sustituta de incremento automático. También deberías hacer estos números enteros sin signo.