我要更新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()函數來提供賦值右側的值。 –