gpt4 book ai didi

MySQL数据库相关

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:41 24 4
gpt4 key购买 nike

我有两个表:

purchase_mis(id, user_id, total_purchased, date)
daily_purchase(id, user_id, product_id, paid_amount, purchase_date)

我有一个每晚运行的 CRON 文件,它从 "daily_purchase" 表中计算每日购买量并运行 insert into "purchase_mis"

例如:

SELECT
COUNT(*) AS purchase_count,
purchase_date
FROM daily_purchase
GROUP BY user_id;

这会返回每个用户的 purchase_count,然后它会被插入到 "purchase_mis" 表中。

INSERT INTO
purchase_mis(user_id, total_purchased, date)
VALUES
('2', 'purchase_count', 'purchase_date');

但在插入前,需要检查user_id = 2某日期“purchase_date”的购买信息是否已经插入,不应再次插入.


我想要类似下面的查询:

INSERT INTO
purchase_mis(user_id, total_purchased, date)
VALUES
('2', 'purchase_count', 'purchase_date')
WHERE date NOT EXISTS (SELECT date FROM purchase_mis WHERE user_id = '2');

最佳答案

在日期列上创建一个键,然后使用 INSERT IGNOREINSERT ... ON DUPLICATE KEY UPDATE 语法。查看更多信息:"INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"

此外,您还可以使用触发器或过程来代替 cron 作业;可能会让生活更轻松一些。

关于MySQL数据库相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13738001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com