我要更新termek_keszlet_db场,如果该字段的心不是的值为0 我怎么能在下面的SQL编写的,如果条件?mysql的更新,如果字段值为0的心不是
$keszlet_csokkent_sql = "UPDATE termek SET termek_keszlet_db = termek_keszlet_db-$db WHERE termek_id = $id";
这是一家网上商店的股票数据,如果有新订单,我想更新产品库存。
我要更新termek_keszlet_db场,如果该字段的心不是的值为0 我怎么能在下面的SQL编写的,如果条件?mysql的更新,如果字段值为0的心不是
$keszlet_csokkent_sql = "UPDATE termek SET termek_keszlet_db = termek_keszlet_db-$db WHERE termek_id = $id";
这是一家网上商店的股票数据,如果有新订单,我想更新产品库存。
我猜你真的想这样:
UPDATE termek
SET termek_keszlet_db = GREATEST(termek_keszlet_db - $db, 0)
WHERE termek_id = $id;
这将确保从未设置为负值。
请注意$db
和$id
应作为查询参数传入。您不应该使用参数值查询字符串(当您可以避免这样做时)。
是的!我termek_keszlet_db值是10,但我订购12后,termek_keszlet_db将-2。谢谢! – Parkolo11
您需要添加一个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";
所以我不需要IF? – Parkolo11
您需要检查该字段是否为0,您不需要“IF”。 –
您可以使用IF()函数来提供赋值右侧的值。 –