Merhaba arkadaşlar,
Aşağıdaki iki tablo arasında foreign key oluşturmaya çalışıyorum. Fakat #1215 - Cannot add foreign key constraint hatası alıyorum. Sebebi ne olabilir?

CREATE TABLE IF NOT EXISTS `firma` (
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`isim` varchar(250) NOT NULL,
`eposta` varchar(250) NOT NULL,
`il` varchar(100) NOT NULL,
`firma_id` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

CREATE TABLE IF NOT EXISTS `fis_hrk` (
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`user_id` smallint(5) unsigned NOT NULL,
`personel_id` smallint(5) unsigned NOT NULL,
`musteri_id` smallint(5) unsigned NOT NULL,
`tel` varchar(20) NULL,
`durum` char(1) NOT NULL,
`firma_id` smallint(5) unsigned NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY fk_firma(firma_id)
REFERENCES firma(id)
ON UPDATE CASCADE
ON DELETE RESTRICT

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=128 ;

Teşekkür ederim.