buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

一则修复数据的case,来看什么是*解决问题要彻底*

我司年久不修的商旅系统,今天突然遇到一个问题,程序执行的一个sql时出现数据类型转换异常。

经排查,这是一个多表join的sql。

select ... 
from t_enterprise ent 
join t_passenger psg on ent.ent_id = psg.ent_id
where ...

上面sql涉及的企业表t_enterprise里,ent_id是bigint。企业乘机人表t_passenger里,ent_id是varchar(20)。

而由于运营操作失误,导致t_passenger表的ent_id字段值出现了非数字的字符串。显然,这种情况,执行这个sql就会出现数据类型转换异常。


开发者及时修正了 t_passenger表的ent_id字段值。这个查询sql得以正常执行。


但,这就完事了吗?

不。

开发者需要做的事情是:将t_passenger表的ent_id字段类型改为bigint。






【EOF】欢迎大家关注我的微信公众号「靠谱的程序员」,解锁应用开发中的更多靠谱本领。
靠谱的程序员

posted on 2025-02-27 21:59  buguge  阅读(64)  评论(0)    收藏  举报