Ho cercato una soluzione a questo problema su Internet e ho controllato le domande di Stack Overflow, ma nessuna delle soluzioni ha funzionato per il mio caso.
Voglio creare una chiave esterna dalla tabella sira_no a metal_kod.
ALTER TABLE sira_no
ADD CONSTRAINT METAL_KODU FOREIGN KEY(METAL_KODU)
REFERENCES metal_kod(METAL_KODU)
ON DELETE SET NULL
ON UPDATE SET NULL ;
Questo script restituisce:
Error Code: 1005. Can't create table 'ebs.#sql-f48_1a3' (errno: 150)
Ho provato ad aggiungere un indice alla tabella di riferimento:
CREATE INDEX METAL_KODU_INDEX ON metal_kod (METAL_KODU);
Ho controllato METAL_KODU su entrambe le tabelle (set di caratteri e regole di confronto), ma non sono riuscito a trovare una soluzione a questo problema. Come posso risolvere questo problema?
Ecco il tavolo metal_kod:
METAL_KODU varchar(4) NO PRI
DURUM bit(1) NO
METAL_ISMI varchar(30) NO
AYAR_YOGUNLUK smallint(6) YES 100
metal_kod
tabella ... quale campo in quella tabella dovrebbe fare riferimento alla chiave esterna?