我司年久不修的商旅系统,今天突然遇到一个问题,程序执行的一个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】欢迎大家关注我的微信公众号「靠谱的程序员」,解锁应用开发中的更多靠谱本领。

© 版权声明
THE END


![表情[baoquan]-拾光赋](https://blogs.ink/wp-content/themes/zibll/img/smilies/baoquan.gif)


暂无评论内容