質問

以下のクエリを実行するとエラーが発生します。

alter table `ttis`.`users` 
add constraint `FK_Role_ID` FOREIGN KEY (`ROLE_ID`) REFERENCES `roles` (`ROLE_ID`)

エラー:

Error Code : 1005
Can't create table 'ttis.#sql-9c_8a' (errno: 150)
役に立ちましたか?

解決

この投稿を見てください。 13.6.4.4。外部キーの制約 「150」を検索します。ここにはこう書かれています。

ドロップされたテーブルを再作成する場合、それを参照する外部キーの制約に適合する定義が必要です。前述のように、適切な列名とタイプが必要であり、参照キーにインデックスが必要です。これらが満たされていない場合、MySQLはエラー番号1005を返し、エラーメッセージのエラー150を参照します。

MySQLが作成テーブルステートメントからエラー番号1005を報告し、エラーメッセージがエラー150を参照している場合、外部キーの制約が正しく形成されなかったためにテーブルの作成が失敗しました。同様に、Alter Tableが失敗し、エラー150を指す場合、変更されたテーブルに対して外部キー定義が誤って形成されることを意味します。Show Engine InnoDBステータスを使用して、サーバーの最新のINNODB外部キーエラーの詳細な説明を表示できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top