0

我无法使用 UDPATE AND IF 条件更新表中的 2 个字段。需要帮忙。

我有一个发票表,如果字段 Nos=0 我需要从容量和字段 Nos=1 更新同一表中的字段 Qty。

我的 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' 附近使用正确的语法

4

3 回答 3

1

试试这个查询,使用AND运算符

UPDATE INVDTLS_draft1 SET `Nos`=1, `Qty`=`Capacity` WHERE id=id AND Nos=0
于 2013-02-18T09:11:42.797 回答
0

试试这个:

UPDATE INVDTLS_draft1 SET 
Nos=1,
Qty = if(nos=0, capacity, Qty)
WHERE id=?

如果 nos != 0,这对 qty “没有任何作用”。

于 2013-02-18T09:13:17.927 回答
0

为什么id=id?我认为你需要这个:

UPDATE INVDTLS_draft1
SET    `Nos`=1, `Qty`=`Capacity`
WHERE  Nos=0
于 2013-02-18T09:19:02.803 回答