MySQL數據庫我有兩個表:相關
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');
請勿使用字符文字作爲數字.''2''是一個字符,而不是數字。如果'user_id'被定義爲例如一個整數,你應該使用'2' - 在這個值周圍沒有單引號。 –