php - SQL可以对update进行计算吗?

标签 php mysql sql pdo

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 触发器。

有关详细信息和示例,请参阅:

编辑 - 根据评论示例:

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/

相关文章:

PHP - tcpdf 和 wamp 服务器

java - 在 Java 中不使用 JDBC 的 MySQL DB 连接(JSP/Servlets)

sql - 使用唯一递增值更新表中的 int 列

php - 这个 PHP-MySQL CREATE TABLE 查询有什么问题?

php - 使用 Define() 标记访问属性?

php - 从数据库获取记录值并将其内爆

java - 如何使用 iBatis

mysql - 对第二个表进行带条件的 SELECT

c# - 如何使用 C# 将数组的元素插入到 SQL Server 数据库中?

php - Laravel,如何消除下拉选择的一些 "pluck"值?