我有這個疑問:更新MySQL表字段,只有當條件滿足
UPDATE orders SET tracking = '$trackingnumber', tracking_timestamp = NOW()
WHERE comment like '%$ordernumber%'
是否有可能更新tracking_timestamp僅當字段的值0000-00-00 00:00:00?
我有這個疑問:更新MySQL表字段,只有當條件滿足
UPDATE orders SET tracking = '$trackingnumber', tracking_timestamp = NOW()
WHERE comment like '%$ordernumber%'
是否有可能更新tracking_timestamp僅當字段的值0000-00-00 00:00:00?
您可以使用CASE
UPDATE orders
SET tracking = '$trackingnumber',
tracking_timestamp = CASE
WHEN tracking_timestamp='0000-00-00 00:00:00'
THEN NOW()
ELSE tracking_timestamp
END
WHERE comment like '%$ordernumber%'
,我想你的意思是'$ tracking_timestamp',你說tracking_timestamp? –
@KristianRafteseth根據你的問題更新'tracking_timestamp'如果tracking_timestamp具有'0000-00-00 00:00:00'的權利?在你的問題中沒有'$ tracking_timestamp'變量,所以我提供了字段的變量條件,而不是變量 –
啊我的不好,這裏的技巧太快了。 –
使用此查詢
UPDATE orders
SET tracking = '$trackingnumber',
tracking_timestamp = IF (tracking_timestamp='0000-00-00 00:00:00',NOW(),'0000-00-00 00:00:00')
WHERE COMMENT LIKE '%$ordernumber%'
應該總是更新跟蹤列。 –