Risolvere l'errore 3780 di MySQL sulle chiavi esterne
Cercando di creare una chiave esterna su MySQL potrebbe uscire l’errore 3780: “Referencing column campo 1 and referenced column campo 2 in foreign key constraint chiave are incompatible”.
Per esempio, la query per creare la chiave esterna potrebbe essere qualcosa del genere:
Questo errore esce quando i due campi che si vogliono legare non sono identici.
Quindi per risolvere l’errore 3780 si deve per prima cosa verificare che i due campi siano identici.
Se sembrano identici e non si riesce a risolvere l’errore, si devono verificare tutti gli attributi.
Per esempio, un campo AUTO_INCREMENT viene creato come UNSIGNED, quindi anche il campo nella tabella che lo richiama deve essere impostato come un numero intero UNSIGNED.
Per esempio, la query per creare la chiave esterna potrebbe essere qualcosa del genere:
ALTER TABLE table ADD CONSTRAINT table_utenti FOREIGN KEY (id_utente) REFERENCES utenti (id_utente) ON DELETE CASCADE ON UPDATE CASCADE;
Questo errore esce quando i due campi che si vogliono legare non sono identici.
Quindi per risolvere l’errore 3780 si deve per prima cosa verificare che i due campi siano identici.
Se sembrano identici e non si riesce a risolvere l’errore, si devono verificare tutti gli attributi.
Per esempio, un campo AUTO_INCREMENT viene creato come UNSIGNED, quindi anche il campo nella tabella che lo richiama deve essere impostato come un numero intero UNSIGNED.
Guida scritta da Mattia il 24/01/2022.