SQL可以对更新进行计算吗?例如,存储的产品数量为 5,售出后,例如 3 件商品,我想更新产品表
中剩余的数量>,
$sql_update = "
UPDATE store_products
SET
product_quantity = ?
WHERE store_products.product_id = ?
";
$result = $connection->run_query($sql_update,array(
3,
$product->product_id
));
可能吗?
最佳答案
是的 - 要实现您所描述的目标,您需要实现 AFTER UPDATE
触发器。
有关详细信息和示例,请参阅:
- http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html
- http://www.roseindia.net/sql/trigger/mysql-trigger-after-update.shtml
编辑 - 根据评论示例:
CREATE TRIGGER produpd AFTER UPDATE ON store_products
FOR EACH ROW BEGIN
UPDATE product SET quantity = quantity - NEW.product_quantity WHERE product_id = NEW.product_id;
END;
需要在 MySQL 数据库中创建此触发器...当您执行问题中的 SQL 代码时,MySQL 会调用此触发器并更新 products
表。
关于php - SQL可以对update进行计算吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7698210/