2

タスクを保存するために MySQL と ebeans を使用しようとしています。スクリプトを適用すると、次のエラーが発生します。

[PersistenceException: ERROR executing DML bindLog[] error[Field 'id' doesn't have a default value]]

MySQLをDBとして使用する前は、メモリ内のH2 DBとファイルシステムで問題なく動作していました...

このエラーを解決するにはどうすればよいですか?

4

2 に答える 2

2

同じエラーが発生しました。id フィールドに AUTO_INCREMENT を追加し、進化スクリプトの制約を追加します。このように

   create table name (
  id                        bigint not null AUTO_INCREMENT,
  ...
  constraint pk_name primary key (id),

);

今それは動作します

編集: モデルのフィールド 'id' に @Id で注釈を付ける場合、進化は自動的に AUTO_INCREMENT と制約を追加する必要があります

于 2012-06-16T21:52:09.993 に答える
0

このエラーが発生しました。私の場合、アプリをセットアップする以前の作業の一環として、データベースは既に存在しますが、テーブルの半分には id フィールドに AI が設定されていましたが、残りの半分にはありませんでした。

なぜそうなったのかはわかりませんが、最初にテーブルを作成した方法に関係しています。

とにかく、MySQL Workbench を使用して、AI ID を持たないテーブルを変更し、AI プロパティを追加するだけで済みました。(このプロセスの一環として、いくつかの外部キーも削除して再作成する必要がありました)。

于 2015-12-08T19:59:22.487 に答える