我有兩個MySQL表更新一行:sms
和consumption
。 sms
表包含所有事務,而consumption
表包含消耗的短消息的總和。插入或使用MySQL觸發
我的目標是能夠到現在的實際消費了一天,所以我只需要直接在consumption
表檢查。 對於它,我試圖創建一個觸發器,它會驗證:
- 如果1天沒有行
consumption
表,然後插入新行 - 是否已經有日間行1,然後更新它
這裏我的代碼不能正常工作。
CREATE TRIGGER tg_new_sms_sent
AFTER INSERT ON sms
FOR EACH ROW
SET @k = (SELECT id FROM consumption WHERE period = NEW.simple_date);
CASE
WHEN ISNULL(@k) THEN
INSERT INTO consumption (system_id, period, credit, sms)
VALUES (NEW.system_id, NEW.simple_date, NEW.used_credit, NEW.sms_count);
ELSE
UPDATE consumption SET credit = credit + New.used_credit, sms = sms + NEW.sms_count WHERE (system_id = NEW.system_id) AND (period = NEW.simple_date);
END CASE
我該怎麼辦?
什麼是不工作?你的觸發器還是不能添加觸發器? – money
請爲表格添加表格結構。 –
@money,當我執行上述代碼時出現錯誤 – nekiala