mysql 觸發器 簡單例項

2021-09-01 15:56:12 字數 2101 閱讀 2554

模擬mysql觸發器的使用

一、新建遊戲表

create table `game` (

`id` int(11) not null auto_increment comment "主鍵id",

`name` varchar(255) not null comment"遊戲名稱",

) engine=myisam auto_increment=6 default charset=utf8;

二、插入測試資料

insert into game(id,name,online) values (1,'神仙道',1);

insert into game(id,name,online) values (2,'搜狗地圖',1);

insert into game(id,name,online) values (3,'免費**',1);

insert into game(id,name,online) values (4,'泡妞利器',1);

insert into game(id,name,online) values (5,'炫酷桌面',1);

三、查詢

select * from game;

1 神仙道1

2 搜狗地圖 1

3 免費** 1

4 泡妞利器 1

5 炫酷桌面 1

四、建立熱榜遊戲表

create table `hot_game` (

`id` int(11) not null auto_increment comment "主鍵id",

`game_id` int(11) not null comment "遊戲id",

primary key (`id`)

) engine=myisam default charset=utf8;

五、插入熱榜遊戲

insert into hot_game (id,game_id) values (1,1);

insert into hot_game (id,game_id) values (2,2);

insert into hot_game (id,game_id) values (3,3);

insert into hot_game (id,game_id) values (4,4);

insert into hot_game (id,game_id) values (5,5);

六、查詢熱榜遊戲

1 12 2

3 34 4

5 5

七、建立觸發器(遊戲下線,熱榜移除該遊戲)

create trigger t_hot_game before update on game for each row

begin if new.online = 0

then delete from hot_game where game_id = old.id;

end if;

end ;

八、查詢觸發器

show triggers;

九、遊戲下線 update game set online = 0 where id = 1;

十、查詢熱榜遊戲列表

select * from hot_game;

2 23 3

4 45 5

觸發器解釋: 用來對資料進行監控,當執行delete、update或insert操作時,可以使用觸發器來觸發某些操作來代替程式編碼,效率更高。

定義sql結束符

drop trigger if exists `updateegopriceondelete` ;

delimiter // 

create 

trigger `updateegopriceondelete` after delete on `customerinfo` 

for each row begin 

delete from egoprice where customerid=old.customerid; 

end //

delimiter ; 

其中delimiter 定好結束符為"$$", 然後最後又定義為";", mysql的預設結束符為";". 

MySQL 觸發器簡單例項

mysql 觸發器簡單例項 語法 create trigger 觸發器名稱 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.觸發器有執行的時間設定 可以設定為事件發生前或後。同樣也能設定觸發的事件 它們可以在執行insert update或dele...

MySQL 觸發器簡單例項

語法 create trigger 觸發器名稱 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.觸發器有執行的時間設定 可以設定為事件發生前或後。同樣也能設定觸發的事件 它們可以在執行insert update或delete的過程中觸發。on 表名...

MySQL 觸發器簡單例項

語法 create trigger 觸發器名稱 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.觸發器有執行的時間設定 可以設定為事件發生前或後。同樣也能設定觸發的事件 它們可以在執行insert update或delete的過程中觸發。on 表名...