mysql 外部キー制約が正しく形成されていないエラー 質問する

mysql 外部キー制約が正しく形成されていないエラー 質問する

table1は、列を持つ親テーブルでありIDtable2列がありますIDFromTable1

IDFromTable1にFKを入れると、なぜIDtable1なるのですかForeign key constraint is incorrectly formed error?

table2(記録が削除された場合は、記録を削除したいと思いますtable1。)

ALTER TABLE `table2`  
   ADD CONSTRAINT `FK1` 
      FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) 
      ON UPDATE CASCADE 
      ON DELETE CASCADE;

両方のテーブルのエンジンは InnoDB です。両方の列のタイプは ですcharIDは の主キーですtable1

ベストアンサー1

私も同じ不可解なエラーに遭遇しました。私の問題は、外部キー列と参照列の型または長さが同じではなかったことです。

外部キー列はSMALLINT(5) UNSIGNED

参照された列はINT(10) UNSIGNED

両方をまったく同じタイプにすると、外部キーの作成は完璧に機能しました。

おすすめ記事