Ich bin auf dasselbe Problem mit HeidiSQL gestoßen. Der Fehler, den Sie erhalten, ist sehr kryptisch. Mein Problem bestand schließlich darin, dass die Fremdschlüsselspalte und die referenzierende Spalte nicht denselben Typ oder dieselbe Länge hatten.
Die Fremdschlüsselspalte war SMALLINT(5) UNSIGNED
und die referenzierte Spalte war INT(10) UNSIGNED
. Nachdem ich sie beide exakt vom gleichen Typ gemacht hatte, funktionierte die Erstellung des Fremdschlüssels perfekt.