当前使用版本(必填,否则不予处理)
3.5.2
该问题是如何引起的?(确定最新版也有问题再提!!!)
数据库表设计,部分字段会默认提供默认值,数据库会填充默认值 (测试: MySQL 5.7.39)
基于注解 @TableField 提供一个策略,insert 插入时,如果表字段属性存在默认值,则提供 default关键字,会自动的填充默认值。
例如:@TableField( insertStrategy = FieldStrategy.DB_FILL )
DB_FILL 策略:insert 字段 为 null ,默认提供 default 关键字填充。
重现步骤(如果有就写完整)
create table test
(
id int auto_increment
primary key,
name varchar(10) not null,
age tinyint default 18 null,
sex tinyint default 0 not null comment '0 未知 ,1 男 ,2 女'
)
comment '测试';
# 测试用例
insert test(name, age, sex)
values ('211', default, default);
查询结果
PS:第一条结果,是我把 age 默认值第一次 设为 0,后面两条是我修改成 18 后,再次测试的结果。
上述的方案:基于 MySQL 数据库,版本: 5.7.39 测试的结果。
报错信息
Comment From: miemieYaho
不支持