《Mysql學習mysql觸發器的三個例子》要點:
本文介紹了Mysql學習mysql觸發器的三個例子,希望對您有用。如果有疑問,可以聯系我們。
MYSQL實例本節內容:
mysql觸發器實例
MYSQL實例例1,
?
MYSQL實例例2,
?
MYSQL實例例3,???
?
MYSQL實例mySql觸發器實例
MYSQL實例在mysql中,使用觸發器能進行一些約束.
例子,當Student表的StudentID列被發生更改時,BorrowStudent表的StudentID列也跟著更改.如果Student表刪除某記錄,BorrowStudent也刪除對應StudentID的記錄.
?
MYSQL實例/*先刪除將要創建而存在的表*/
drop table if exists Student;
drop table if exists BorrowStudent;
MYSQL實例/*創建表*/
create table Student(
StudentID int not null primary key,
StudentName varchar(30) not null,
StudentSex enum('m','f') default 'm'
)engine=myisam;
MYSQL實例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;
MYSQL實例/*插入記錄*/
insert into Student values(1235412,'java','m');
insert into Student values(3214562,'jiajia','m');
insert into Student values(5441253,'purana','f');
MYSQL實例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');
MYSQL實例/*創建觸發器*/
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$$
MYSQL實例create trigger tddStudent before delete
on Student for each row
begin
delete
from BorrowStudent
where BorrowStudent.StudentID=old.StudentID;
end$$
delimiter ;
《Mysql學習mysql觸發器的三個例子》是否對您有啟發,歡迎查看更多與《Mysql學習mysql觸發器的三個例子》相關教程,學精學透。維易PHP學院為您提供精彩教程。