-1

下面的代码是我在 Navicat for Mysql 中写的一个触发器。插入部分工作正常,但为了更新,我需要根据 id 更新特定的行数。如何在更新 sql 查询中编写 where 子句。

insert into closingstockt(CLS_BSID,CLS_Qty,CLS_SQty,CLS_CDate)
select BS_ID as CLS_BSID,BS_Qty as CLS_Qty,BSS_Qty as CLS_SQty,curdate() 
from barstockt
where CLS_BSID=BS_ID 
on duplicate key update CLS_Qty=BS_Qty,CLS_SQty=BSS_Qty
4

1 回答 1

0

ON DUPLICATE KEY UPDATE将更新数据库中已经存在的行。例如:

INSERT INTO table (field,field2) VALUES ('data1','data2')
ON DUPLICATE KEY UPDATE lastupdate=NOW()

编辑:我建议使用IF()

INSERT ... 使用 WHERE 进行重复的密钥更新?

于 2013-01-02T13:15:25.367 回答