Mysql
 sql >> Database >  >> RDS >> Mysql

Errore MySql:#105 (codice 150). Quando creo lo schema del mio database, ricevo un codice di errore di 150.

Puoi creare una chiave esterna solo su una tabella che fa riferimento a una chiave su un'altra tabella. Questo problema specifico è che memberid non è una chiave né su groupmembers o rolemembers tavoli. Aggiungi semplicemente KEY (memberid) a quei tavoli e sarai a posto.

Un altro problema è che i tipi di chiavi esterne devono corrispondere. eventgroup ha groupid varchar , ma fa riferimento ai groups tabella, che ha groupid INT . Correggi questo.

Per quanto riguarda i suggerimenti, consiglio vivamente che ogni chiave primaria sia solo una colonna:la tua chiave surrogata con incremento automatico. Dovresti creare anche questi numeri interi senza segno.