建立觸發器javascript
在建立觸發器時,須要給出 4條信息:java
drop trigger if exists test_trigger; ##刪除觸發器 delimiter// ##改變語句分割符 create trigger test_trigger after insert on aaa_test ##建立觸發器test_trigger,當表aaa_test插入數據後執行 for each row ##FOR EACH ROW是觸發器的執行間隔,FOR EACH ROW子句通知觸發器每隔一行執行一次動做,而不是對整個表執行一次 begin select new.id into @aaa; ##將aaa_test表中id列的最新的值保存到用戶變量@aaa中 end//
往表aaa_test中插入一行數據:spa
INSERT INTO aaa_test(username,PASSWORD,birthday) VALUES('test_trigger','12345',CURRENT_DATE);
此時表aaa_test中的結果:code
查看標量@aaa的結果,執行 : "SELECT @aaa",其結果等於最新id值blog
DROP TRIGGER IF EXISTS test_delete_trigger_before; DELIMITER// CREATE TRIGGER test_delete_trigger_before BEFORE DELETE ON aaa_test FOR EACH ROW BEGIN SELECT old.id INTO @bbb; ##將要刪除數據行的id值保存到變量@bbb中 END//
刪除以前aaa_test表中數據爲:事件
刪除id=48的記錄,執行:ip
DELETE FROM aaa_test WHERE id=48;
查看變量@bbb,執行:it
SELECT @bbb;
其結果爲48:class
DROP TRIGGER IF EXISTS test_update_trigger_before; DELIMITER// CREATE TRIGGER test_update_trigger_before BEFORE UPDATE ON aaa_test FOR EACH ROW BEGIN SELECT UPPER(old.password) INTO @ccc; ##將修改以前的值保存到@ccc變量中 SELECT LOWER(new.password ) INTO @ddd; ##將修改後的新值保存到@ddd變量中 END//
修改密碼以前:test
修改密碼:
update aaa_test set password='helloWorld' where id=49;
變量@ccc結果爲修改以前的值:
SELECT @ccc;
變量@ddd結果爲修改後的值:
SELECT @ddd;