如果字段值不为0,则更新Mysql

时间:2017-08-26 08:11:51

标签: mysql sql

如果字段的值不为0,我想更新termek_keszlet_db字段。 如何在下面的sql中编写if条件?

$keszlet_csokkent_sql = "UPDATE termek SET termek_keszlet_db = termek_keszlet_db-$db WHERE termek_id = $id";

这是网上商店的库存数据,如果有新订单,我想更新产品库存。

2 个答案:

答案 0 :(得分:0)

您需要添加AND条件termek_keszlet_db != 0

$keszlet_csokkent_sql = "UPDATE termek SET termek_keszlet_db = termek_keszlet_db-$db WHERE termek_id = $id AND termek_keszlet_db != 0";

答案 1 :(得分:0)

我猜你真的想要这个:

UPDATE termek
    SET termek_keszlet_db = GREATEST(termek_keszlet_db - $db, 0)
    WHERE termek_id = $id;

这将确保termek_keszlet_db永远不会设置为负值。

请注意,$db$id应作为查询参数传入。您不应该使用参数值来查询查询字符串(当您可以避免这样做时)。