日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql触发器 实例_mysql触发器的三个例子

發布時間:2023/12/20 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql触发器 实例_mysql触发器的三个例子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節內容:

mysql觸發器實例

例1,

復制代碼 代碼示例:

delimiter //

create trigger InsertUser

before insert on user

for each row

Begin

insert into user_group(uid,gid) values(new.uid,'group4444444444');

end;//

delimiter ;

例2,

復制代碼 代碼示例:

delimiter //

create trigger InsertUser

before insert on user

for each row

Begin

IF new.Type=2 then

insert into user_group(uid,gid) values(new.uid,'group4444444444');

else

insert into user_group(uid,gid) values(new.uid,'group55555555555')

END IF;

end;//

delimiter ;

例3,

復制代碼 代碼示例:

delimiter //

create trigger InsertUser

before insert on user

for each row

Begin

IF new.type=1 then

insert into user_group(uid,gid) values(new.uid,'578d3369633b47bd9c1fe8bf905cbfb1');

END IF;

IF new.type=2 then

insert into user_group(uid,gid) values(new.uid,'387bcd57fc5a4c3c9de83ee210fef661');

END IF;

end;//

delimiter ;

mySql觸發器實例

在mysql中,使用觸發器能進行一些約束。

例子,當Student表的StudentID列被發生更改時,BorrowStudent表的StudentID列也跟著更改.如果Student表刪除某記錄,BorrowStudent也刪除對應StudentID的記錄.

復制代碼 代碼示例:

/*先刪除將要創建而存在的表*/

drop table if exists Student;

drop table if exists BorrowStudent;

/*創建表*/

create table Student(

StudentID int not null primary key,

StudentName varchar(30) not null,

StudentSex enum('m','f') default 'm'

)engine=myisam;

create table BorrowStudent(

BorrowRecord int not null auto_increment primary key,

StudentID int not null,

BorrorDate date,

ReturnDate date,

foreign key(StudentID) references Student(StudentID)

)engine=myisam;

/*插入記錄*/

insert into Student values(1235412,'java','m');

insert into Student values(3214562,'jiajia','m');

insert into Student values(5441253,'purana','f');

insert into BorrowStudent(StudentID,BorrorDate,ReturnDate)

values(1235412,'2007-01-01','2007-01-07');

insert into BorrowStudent(StudentID,BorrorDate,ReturnDate)

values(3214562,'2007-01-01','2007-01-07');

insert into BorrowStudent(StudentID,BorrorDate,ReturnDate)

values(5441253,'2007-01-01','2007-01-07');

/*創建觸發器*/

delimiter $$

drop trigger if exists tduStudent$$

drop trigger if exists tddStudent$$

create trigger tduStudent before update

on Student for each row

begin

if new.StudentID!=old.StudentID then

update BorrowStudent

set BorrowStudent.StudentID=new.StudentID

where BorrowStudent.StudentID=old.StudentID;

end if;

end$$

create trigger tddStudent before delete

on Student for each row

begin

delete

from BorrowStudent

where BorrowStudent.StudentID=old.StudentID;

end$$

delimiter ;

總結

以上是生活随笔為你收集整理的mysql触发器 实例_mysql触发器的三个例子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。