Vous ne pouvez créer une clé étrangère sur une table qui fait référence à une clé sur une autre table. Ce problème spécifique est que memberid
n'est pas une clé sur les groupmembers
ou rolemembers
les tables. Ajoutez simplement KEY (memberid)
à ces tables et vous serez prêt à partir.
Un autre problème est que les types de clés étrangères doivent correspondre. eventgroup
a groupid varchar
, mais fait référence aux groups
table, qui a groupid INT
. Corrigez ceci.
En ce qui concerne les suggestions, je recommande très fortement que chaque clé primaire ne soit qu'une seule colonne :votre clé de substitution à incrémentation automatique. Vous devriez également créer ces entiers non signés.