1

当我使用 + 符号运行以下查询时,它正在添加值并显示正确的结果,但是当我将 + 符号替换为 - 符号时,它仍然显示正确的结果,但在结果之前显示 - 符号。为什么显示 - 登录结果?

请帮我解决这个问题谢谢

ON DUPLICATE KEY UPDATE quantity='$quantity'-quantity ")

它显示这样的结果

--------------
 quantity row
--------------
    -5
--------------

这并不完美

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity='$quantity'-quantity ")

这是有效的

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity='$quantity'+quantity ")

我插入查询togetter这是我的完整代码但第一个工作正常但第二个有问题

         // save the data to the database
          mysql_query("INSERT INTO  recivereturn SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature'");

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity=$quantity-quantity ")
4

3 回答 3

3

你几乎可以肯定是在做减法。您可能想从列的当前值中减去一个变量,反之亦然:

ON DUPLICATE KEY UPDATE quantity = quantity - '$quantity'
于 2013-11-06T06:31:21.607 回答
0

试试喜欢

"ON DUPLICATE KEY UPDATE quantity=".$quantity."-quantity ")

喜欢

$result = mysql_query("INSERT INTO stock 
                       SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',
                       category='$category',signature='$signature' 
                       ON DUPLICATE KEY UPDATE quantity= ".$quantity."+quantity ")
于 2013-11-06T06:21:26.387 回答
0

请尝试一次不带引号的 $quantity。

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity=$quantity-quantity ");
于 2013-11-06T06:27:05.810 回答