@Insert("insert into t_product_edition (user_id,product_id,edition,description,create_time) values(#{userId},#{productId},#{productEdition},#{description},#{createTime})")
void confirmEditionMapper(@Param("userId")int userId,@Param("productId") int productId, @Param("productEdition") String productEdition,@Param("description") String description, @Param("createTime") Timestamp createTime);
```sql 语句如上: 传入参数createTime 未赋值
查阅得知:mysql 的默认值是指当你不指定字段时 会出现默认值,但指定默认值为空,即传了参却未赋值 就会报这个错。
处理方法让那个时间参数未必填项,业务层用做校验 ,若前端传空值 则返回错误提醒
或者可以酱紫处理 目前没有找到@requestparam注解如何设置时间默认值(这种情况适合传的参数不是时间类型)
public TmyResult confirmProductEdition(int productId, String chargeman, String productEdition, String description, @RequestParam(required = false, value="createTime",defaultValue="2021-01-19 21:30:42" ) Timestamp createTime)
***后续想到可以这样处理,加一个逻辑判断***
if(createTime==null){
return TmyResult.wrong("时间不能为空");
}
mysql 数据库时间设置默认值后,传空值仍然报错
最新推荐文章于 2024-06-08 00:01:05 发布