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

MySQL:ERRORE 1215 (HY000):Impossibile aggiungere il vincolo di chiave esterna

Quando ricevi questo vago messaggio di errore, puoi scoprire l'errore più specifico eseguendo

SHOW ENGINE INNODB STATUS;

I motivi più comuni sono che quando si crea una chiave esterna, sia il campo di riferimento che il campo della chiave esterna devono corrispondere:

  • Motore dovrebbe essere lo stesso ad es. InnoDB
  • Tipo di dati dovrebbe essere la stessa e con la stessa lunghezza.
    es. VARCHAR(20) o INT(10) UNSIGNED
  • Fascicolazione dovrebbe essere lo stesso. ad es. utf8
  • Unico - La chiave esterna deve fare riferimento a un campo univoco (solitamente privato) nella tabella di riferimento.

Un'altra causa di questo errore è:
Hai definito una condizione SET NULL anche se alcune colonne sono definite come NOT NULL.