0

テーブルxxxに挿入するたびに:

alter table xxx 
add index FK68C3166C7B556202 (my_yyy_id), 
add constraint FK68C3166C7B556202 foreign key (my_yyy_id) references yyy (yyy_id)

...私は得る:

19:27:44,355 ERROR SchemaUpdate:212 - Unsuccessful: alter table xxx add index FK68C3166C7B556202 (my_yyy_id), add constraint FK68C3166C7B556202 foreign key (my_yyy_id) references yyy (yyy_id)
19:27:44,356 ERROR SchemaUpdate:213 - Can't create table 'mydb.#sql-2f1b_657' (errno: 150)

なぜ?この問題を解決するにはどうすればよいですか?

4

3 に答える 3

0

どのバージョンの MySQL を使用していますか? 4.1よりも古い可能性がありますか?

外部キーを追加せずにインデックスを作成できますか? それが機能する場合は、外部キーを追加してみてください。

于 2011-02-26T00:44:21.197 に答える
0

ドキュメンテーション:

MySQL が CREATE TABLE ステートメントからエラー番号 1005 を報告し、エラー メッセージがエラー 150 を参照している場合、外部キー制約が正しく形成されていないため、テーブルの作成に失敗しました。同様に、ALTER TABLE が失敗し、エラー 150 を参照する場合、変更されたテーブルの外部キー定義が正しく形成されていないことを意味します。

作成しようとしている外部キー制約に関する詳細情報を提供する必要があります。

于 2011-02-26T00:36:35.583 に答える
0

詳細がわからないと何が問題なのかを推測するのは困難ですが、よくある間違いがいくつかあります
yyy_id unsigned intxxx.my_yyy_id int

于 2011-02-26T00:40:58.907 に答える