Narazil jsem na stejný problém s HeidiSQL. Chyba, kterou obdržíte, je velmi záhadná. Můj problém skončil v tom, že sloupec cizího klíče a odkazující sloupec nebyly stejného typu nebo délky.
Sloupec cizího klíče byl SMALLINT(5) UNSIGNED
a odkazovaný sloupec byl INT(10) UNSIGNED
. Jakmile jsem je udělal oba přesně stejného typu, vytvoření cizího klíče fungovalo perfektně.