我无法使用UDPATE AND IF条件更新表中的2个字段。需要帮助。
我有一张发票表,其中如果字段编号= 0,我需要从容量更新字段数量,并在同一个表中更新字段编号=。
我的sql语句不起作用:
UPDATE INVDTLS_draft1 SET `Nos`=1, `Qty`=`Capacity` IF (Nos=0) WHERE id=id
错误消息:
#1064
- 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行'IF(Nos = 0)WHERE id = id'附近
答案 0 :(得分:1)
使用AND
运算符
UPDATE INVDTLS_draft1 SET `Nos`=1, `Qty`=`Capacity` WHERE id=id AND Nos=0
答案 1 :(得分:0)
试试这个:
UPDATE INVDTLS_draft1 SET
Nos=1,
Qty = if(nos=0, capacity, Qty)
WHERE id=?
如果nos!= 0,这对“数字无效”。
答案 2 :(得分:0)
为什么id = id?我想你需要这个:
UPDATE INVDTLS_draft1
SET `Nos`=1, `Qty`=`Capacity`
WHERE Nos=0