我正在尝试使用 MySQL 和 ebeans 来保存我的任务。当我应用脚本时,我收到此错误:
[PersistenceException: ERROR executing DML bindLog[] error[Field 'id' doesn't have a default value]]
在使用 MySQL 作为 DB 之前,它在内存中的 H2 DB 以及文件系统中运行良好......
如何解决此错误?
我正在尝试使用 MySQL 和 ebeans 来保存我的任务。当我应用脚本时,我收到此错误:
[PersistenceException: ERROR executing DML bindLog[] error[Field 'id' doesn't have a default value]]
在使用 MySQL 作为 DB 之前,它在内存中的 H2 DB 以及文件系统中运行良好......
如何解决此错误?
刚刚得到同样的错误。将 AUTO_INCREMENT 添加到您的 id 字段和进化脚本中的约束。像这样
create table name (
id bigint not null AUTO_INCREMENT,
...
constraint pk_name primary key (id),
);
现在它可以工作了
编辑:如果您在模型中使用@Id 演化注释字段“id”,则应自动添加 AUTO_INCREMENT 和约束
我刚刚遇到这个错误,在我的情况下,数据库已经存在,作为我早期设置我的应用程序的一部分,但一半的表为 id 字段设置了 AI,但另一半没有。
我不确定为什么会这样,这与我最初创建表格的方式有关。
无论如何,我需要做的就是使用 MySQL Workbench 来更改没有 AI id 的表并添加 AI 属性。(作为此过程的一部分,我还必须删除并重新创建一些外键)。