Jeg løb ind i det samme problem med HeidiSQL. Den fejl, du modtager, er meget kryptisk. Mit problem endte med at være, at fremmednøglekolonnen og referencekolonnen ikke var af samme type eller længde.
Fremmednøglekolonnen var SMALLINT(5) UNSIGNED
og den refererede kolonne var INT(10) UNSIGNED
. Da jeg først lavede dem begge præcis af samme type, fungerede oprettelsen af fremmednøgle perfekt.