mysql插入操作丢失部分字段值,如何解决?

情况是这样的,最近系统偶尔会出现Mysql插入操作的时候,一条记录的部分字段数据丢失,我查看打印的sql语句时有值的,比如:
图片描述

就是红笔画出的那两个值, 在数据库里面是 没有保存到的:
图片描述

插入操作前 ,我输出过 实体类的属性,确认是有值的,然后我也打印了插入SQL ,如图1 ,也是有值的,所以想知道为什么导致这样的问题?

已知:
1:没有其他更新操作 影响到 这条数据, 因为确认过时间,还有打印的SQL语句
2:在数据库字段长度里面,这两个字段长度都是足够的
3:偶尔会出现这样的问题,一出现就不是1、2条问题,而是一连串的

-------------2018-05-30 16:09补充---------------------

刚去服务器查看的binlog:
是有执行插入语句 并且有值
INSERT INTO jn_ebs_order_header ( id,order_id,order_sn,order_add_time,order_status,pay_status,sale_type,ware_house,order_amount,goods_amount,shipping_fee,pay_type,pay_id,pay_name,pay_time,pay_sn,serial_no,user_id,user_mobile,user_settle_status,user_settle_time,discount_mode,pop_period_no,bonus,recharge,discount_amount,suppliers_id,suppliers_code,suppliers_name,marketing_type,operate_id,service_fee_deduction,service_amount,shipping_status,pop_status,invoice_status,refund,refund_amount,cost_rate,created_by_user,created_office,created_dtm_loc,created_time_zone,updated_by_user,updated_office,updated_dtm_loc,updated_time_zone,bonus_platform,bonus_shop ) VALUES( null,286349,'18052917587253',1527605225,1,2,0,'jn020',294.85,276.00,18.85,1,2,'微信app支付',1527605256,'527605243056968001687','4200000130201805291425980374',33437,'13924928030',0,0,'','',0.00,0.00,0.00,1697,'S1803150001','广州小蜜蜂果际贸易有限公司',1,0,null,null,0,0,0,0,0,'{"platform":"100.00","shop":"0.00"}','','','2018-05-29 22:48:01','','','','2018-05-29 22:50:04','',null,null )

阅读 5.5k
1 个回答

这种情况很少见了,但是验证的方法很简单。
你去把自己写的sql拿出来,然后把没有插入成功那条记录带入,不通过代码,执行一次sql。(其实就是手动插入一条记录,看这两个字段是否有值)
如果有值,那么很可能是你的sql跟实体类属性或者跟数据库字段哪个地方没有对应好。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题