向另一张表中批量插入数据的时候,遇到了这样的情况,我们这边这张表关联的是外键ID ,id类型为int而需要迁移的数据存的是字符串类型但是绑定的是外键关联的name
这个时候就可以用CASE WHEN语法进行转换
insert into sampletype(ID,Code,Name,SampleUnitId,MinCapacity,AggregateMinCapacity,DefaultQuantity,WarningDays,FreezeThawTimes,Icon,IsEnable)
select
id,sampleTypeNo,sampleTypeNm,case when unit='毫升' THEN 3 WHEN unit='微升' THEN 4 ELSE '1' END,minCapacity,totalMinCapacity,defaultCapacity,preWarningDays,maxFreezeCount,'icon-blood',isEffect
from bims.ap_sp_sampletype;
这样就把字符对应的转为数字了,就可以进行插入了。
本文介绍了在批量插入数据时遇到的问题,即源数据中外键ID为字符串,而目标表中关联的是int类型。通过使用MySQL的CASE WHEN语句,可以将字符串类型的name转换为对应的int ID,从而顺利完成数据插入操作。
3万+

被折叠的 条评论
为什么被折叠?



