VALUES (31, 20230704, 1, “688610”)

发布时间:2025-06-24 17:02:51  作者:北方职教升学中心  阅读量:971


end_time2 ) VALUES ( 63, 20230704,
1, ‘688610’, , )。
表情况。但在这里,


#xff1解决方案a;

既然没有默认值,然后我们在插入时指定nulll 进入,由于MyBatisPlus的特点,所以最后DBClass层,为end_time1和end_time2设置nulll 还可以插入和更新。

VALUES (31, 20230704, 1, “688610”)。
在这里插入图片描述


问题描述。结果报错了。

某个插入语句使用 MyBatisPlus 的 save 方法,因为end_time1 end_time2不值,所以在Mybatisplus的默认情况下,不会在插入语句中提及,

SQL࿱最终提取a; INSERT INTO aaaa (serial_no, business_date, market_no, report_code)。:MyBatisPlus。

修复后没有再报错。而且场景是偶现,我们可以单独提取SQL执行,几个小时的调查失败了。:mysql8;
工程使用。


原因分析:

偶尔,目前无法查明原因,可能需要去Mysql源码看原因。

修复后没有再报错。

项目场景:

数据库环境。
在这里插入图片描述
一般情况下这种错误是表设置为非空字段,我们没有设置默认值。
在这里插入图片描述
该参数的运行原理可见于以前的博文《MybatisPlus wrapper构造器的使用与原理 “易错点-null处理”一节。
VALUES (31, 20230704, 1, ‘688610’)。 Field 'end_time1' doesn't have a default value。我们清楚地在表中设置了可空性。

SQL的最终生成如下:

INSERT INTO aaaa ( serial_no, business_date,
market_no, report_code, end_time1,