今天排查一个bug发现开发环境总是报错 order_num 字段insert的时候不能为空,可是发现测试环境没有这个问题。mysql
后来发现测试环境有一个数据库docker安装的mysql 版本是5.7 而开发环境是5.7.24 怀疑是这个问题引发的。sql
后来测试了一下果真,在5.7中执行以下语句只会warning而且把order_num写入0 可是5.7.24会直接报错docker
create table t_instance_struct_2
(
struct_id varchar(36) not null,
task_code varchar(30),
order_num decimal(10,0) not null,
primary key (struct_id)
);数据库
insert into t_instance_struct_2 values ('1','aa',null),('2','aa2',null);测试