1
的計數我有這個表叫做書觸發了刪除
create table books (price INT,title VARCHAR(50),type VARCHAR(5));
我需要一個觸發,在另一個表中插入稱爲myregister
當前日期,並在該日刪除圖書的數量。所以,我想出了這個:
CREATE TABLE myregister (dates DATE,number INT);
DELIMITER |
CREATE TRIGGER deleted AFTER DELETE on books
FOR EACH ROW BEGIN
set @cnt = if(@cnt is null, 1, (@cnt+1));
set @dat = CURDATE();
INSERT INTO myregister values(CURDATE(),@cnt);
END;
|
DELIMITER ;
,但有2個問題:
變量是全球性的,它計算爲每本書刪除,沒關係的日期。
觸發器爲每一行計數,所以最後,表myregister有
n
行,每一行都刪除每一本書。
您可以使用[14.2.5.3 INSERT ...對重複密鑰更新語法](http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html) 。 – wchiquito
@wchiquito是的,那會更好。將編輯。 –
@MattRaines非常感謝,它真的幫助了我。 – viversba