1.班級表 class(班級號 classid, 班內學生數 stucount)學生表 student(學號 stuid, 所屬班級號 classid),要建立觸發器來使班級表中的班內學生數隨著學生的新增自動更新,**如下:
delimiter $$
create trigger tri_student after insert on student for each row
begin
declare c int;
set c = (select stucount from class where classid = new.classid);
update class set stucount = c+1 where classid = new.classid;
end $$
2.delimiter $$
drop trigger if exists update_name $$
create trigger update_name after update on user for each row
begin
if new.name!=old.name then
update comment set name = new.name where comment.uid= old.id;
end ih;
end $$
3.事件
3.1 檢視事件是否開啟
show variables like 'event_scheduler'; or select @@ event_scheduler;
3.2 開啟事件
set global event_scheduler = on;
3.3建立乙個每隔3秒往test表插入一條資料的事件
create event if not exists event_insert
on schedule every 3 second
do insert into test(id,t1) values (null,now());
3.4建立乙個從2023年8月22日21點45分開始到10分鐘後結束的事件
create event if not exists ev_insert
on schedule every 3 second
starts '2012-08-22 21:45:00'
end '2012-08-22 21:45:00' + interval 10 minute
do truncate table test;
1.班級表 class(班級號 classid, 班內學生數 stucount)學生表 student(學號 stuid, 所屬班級號 classid),要建立觸發器來使班級表中的班內學生數隨著學生的新增自動更新,**如下:
delimiter $$
create trigger tri_student after insert on student for each row
begin
declare c int;
set c = (select stucount from class where classid = new.classid);
update class set stucount = c+1 where classid = new.classid;
end $$
2.delimiter $$
drop trigger if exists update_name $$
create trigger update_name after update on user for each row
begin
if new.name!=old.name then
update comment set name = new.name where comment.uid= old.id;
end ih;
end $$
3.事件
3.1 檢視事件是否開啟
show variables like 'event_scheduler'; or select @@ event_scheduler;
3.2 開啟事件
set global event_scheduler = on;
3.3建立乙個每隔3秒往test表插入一條資料的事件
create event if not exists event_insert
on schedule every 3 second
do insert into test(id,t1) values (null,now());
3.4建立乙個從2023年8月22日21點45分開始到10分鐘後結束的事件
create event if not exists ev_insert
on schedule every 3 second
starts '2012-08-22 21:45:00'
end '2012-08-22 21:45:00' + interval 10 minute
do truncate table test;
mysql ,觸發器語法
1.語法 命名規則 create trigger 觸發器名稱 on 表名稱 for each row 觸發器sql語句 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.這裡我有個習慣 就是用表的名字 觸發器型別的縮寫.因此如果是表t26,觸發器是在...
mysql複習(1) 觸發器
顧名思義,觸發就是滿足一定條件下產生什麼動作,完整的定義是觸發器是與表有關的資料庫物件,在滿足定義條件時觸發,並執行觸發器中定義的語句集合。1 create trigger trigger name trigger time trigger event on tb name for each row...
mysql簡單的觸發器語法 mysql觸發器 學習
1.說明 觸發器的定義就是說某個條件成立的時候,你觸發器裡面所定義的語句就會被自動的執行。因此觸發器不需要人為的去呼叫,也不能呼叫。然後,觸發器的觸發條件其實在你定義的時候就已經設定好的了。這裡面需要說明一下,觸發器可以分為語句級觸發器和行級觸發器。簡單的說就是語句級的觸發器可以在某些語句執行前或執...