1

Grailsアプリケーションを実行しているときに、schemaUpdate失敗エラーが発生します。

    hbm2ddl.SchemaUpdate Unsuccessful: alter table lifecycle add index FKEDFAE76ABF1565B0 (round_up_emailed_updated_by_id), add constraint FKEDFAE76ABF1565B0 foreign
    key (round_up_emailed_updated_by_id) references user (id)
    hbm2ddl.SchemaUpdate Too many keys specified; max 64 keys allowed
    hbm2ddl.SchemaUpdate Unsuccessful: alter table lifecycle add index FKEDFAE76A166A0DC5 (training_advice_telecommunicated_updated_by_id), add constraint FKEDFAE76A1
    66A0DC5 foreign key (training_advice_telecommunicated_updated_by_id) references user (id)
    hbm2ddl.SchemaUpdate Too many keys specified; max 64 keys allowed
    hbm2ddl.SchemaUpdate Unsuccessful: alter table lifecycle add index FKEDFAE76AA40386D9 (laptops_arranged_actor_id), add constraint FKEDFAE76AA40386D9 foreign key (
    laptops_arranged_actor_id) references role (id)
    hbm2ddl.SchemaUpdate Too many keys specified; max 64 keys allowed

どういう意味ですか?そして、このエラーの原因は何ですか?

4

2 に答える 2

2

データベースエンジンとバージョンを投稿していませんが、MySQL5.0以降を使用していると推測します。

私はMySQL5.5.25とInnoDBをエンジンとして使用していますが、次の発見に遭遇しました。

MySQL 5.0の時点では、テーブルごとに最大64のインデックスがあります。

誰かがMySQL5.0を使用して64を超える外部キーを持つテーブルを作成しようとしましたが、エラーメッセージに次のような正確なテキストが表示されました。

Too many keys specified. Max 64 keys allowed

これがbugs.mysql.comバグ#51450に関する彼らのバグレポートです。

MySQL 5.0以降を実行していて、これが発生しているエラーである場合は、Grailsまたはhbm2ddlの問題ではなく、基盤となるデータベースエンジンの問題です。

于 2012-08-23T18:49:13.273 に答える
1

どうやらあなたはあまりにも多くの外部キーを指定しました。明らかに最大64個のキーが許可されています。

于 2012-08-23T05:08:22.193 に答える