mysql - 需要使用 Update SQL JOIN 对成功购物车交易的数据进行存档

标签 mysql sql-server

我需要对在店面购买的产品进行存档。我正在考虑执行 SQL JOIN 但不确定...

这是我需要运行的查询吗?

  UPDATE product 
  INNER JOIN cart on cart.product_id = product.id
  SET product.archive = 1

购物车

id (int)
product_id (int)
quantity (int)

产品

id (int)
name (varchar 45)
price (decimal 10,2)
quantity (int)
image (varchar 255)
archive (tinyint) default 0

最佳答案

这似乎是您想要使用触发器的情况。每次在 Cart 表中添加新行时,它应该将 product.archive 更新为 1(或对 Product 表进行任何其他更改)。

DELIMITER $$
CREATE TRIGGER tg
    AFTER INSERT ON Cart
    FOR EACH ROW
BEGIN
    UPDATE Product
        SET archive = 1
        WHERE Product.id = NEW.product_id;
END $$

请考虑到我是 MySQL 的新手,我不确定这是否是正确的方法。

关于mysql - 需要使用 Update SQL JOIN 对成功购物车交易的数据进行存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41353194/

相关文章:

java - 根据用户定义的结果和条件在包含多个相关或不相关表的数据库中动态构建 SQL

PHP/MySQL : Move data from old database (tables without an ID) to new database (tables with an ID)

mysql - 为什么我的sql用了Max函数却不能用Abs函数?

mysql - 为什么我的子句计数和mysql中的where不起作用?

sql - 在 t-sql 中枚举星期几

c# - 通过组合两列来选择不同的项目,其中第三列的值为 max-LINQ

java - 如何在JAVA中解决SQL "Unknown column ' c' in 'field list' "而实际上没有语法问题

sql - 我可以在服务器级别而不是数据库级别设置 SQL Azure 漏洞评估吗?

sql - 如何优化使用cte、group by并运行20+小时的SQL查询?

java - 尝试使用 SQL Server 身份验证连接到 SQL Server 2008 Express 数据库始终会导致 "Login failed for user ' .. .'."