2 qq 35649402 qq_35649402 于 2017.09.06 09:45 提问

mysql,触发器对比两表中数据,更新某一个值?

请问mysql,触发器对比两表中数据,更新某一个值,该怎么做到?
现有: a(库存表) b(实物表)两表对比两表中的'deviceid'如果数据相同则更新'isexist'为1,如果库存表中没有而有实物更新'isexist'为2,如果库存表中有而无实物更新'isexist'为3
a表:

 id
deviceid

b表:

 id
 deviceid
 isexist

2个回答

qq_22590821
qq_22590821   2017.09.06 14:52
已采纳

UPDATE b
JOIN a ON b.id = a.id
SET b. isexist = (
CASE
WHEN a.id = b.id THEN
1
WHEN a.deviceid = ''
AND b.deviceid > 0 THEN
2
WHEN a.deviceid > 0
AND b.deviceid = '' THEN
3
END
)

qq_35649402
qq_35649402 我测试下,OK的话给你分
3 个月之前 回复
qq_22590821
qq_22590821 希望这个能帮到您,实测可用,给点分分!!!
3 个月之前 回复
zy841958835
zy841958835   Ds   Rxr 2017.09.06 09:55

写个存储过程吧 简单的if else

qq_35649402
qq_35649402 不会写啊...
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片