如何简化此更新说明?每当客户购买物品时,它将使用1更新销售。
$this->db->query('SELECT amount FROM shop_items WHERE itemid='.$itemid.'');
$new_amount = $item->amount+1;
if(!$this->db->query('UPDATE shop_items SET amount='.$new_amount.' WHERE itemid='.$itemid.'')):
return false;
endif;
我不能让它变得更简单,所以行数更少,例如:
if(!$this->db->query('UPDATE shop_items SET amount=_current_value_+1 WHERE itemid='.$itemid.'')):
return false;
endif;
这可能吗?如果不是,也谢谢
答案 0 :(得分:6)
使用以下SQL查询怎么样:
update shop_items
set amount = amount + 1
where itemid = 123
基本上,在一个SQL查询中,您将amount
设置为它具有的前一个值,再加上一个。
无需两个查询; - )
在PHP代码中集成它应该会给你这样的东西:
if (!$this->db->query('UPDATE shop_items SET amount=amount+1 WHERE itemid='.$itemid.'')) :
return false;
endif;
注意:我刚刚将_current_value_
替换为您正在处理的字段的名称:amount
。