MySql触发器

来源:互联网 发布:淘宝经典差评 编辑:程序博客网 时间:2024/05/21 01:30
#创建商品表
CREATE TABLE good(
gid INT PRIMARY KEY AUTO_INCREMENT,#商品编号,主键,自增长
gname CHAR(16),#商品名称
gnum INT#商品数量
);

#创建订单表
CREATE TABLE orders(
oid INT PRIMARY KEY AUTO_INCREMENT,#订单编号,主键,自增长
gid INT,#商品编号
much INT#商品数量

);

#初始化两个表
INSERT INTO good(gname,gnum)VALUES('商品1',10),('商品2',20),('商品3',15),('商品4',20);
INSERT INTO orders(gid,much)VALUES(1,10),(2,5),(3,15);

#创建增删改查的触发器
#(增加)
DELIMITER $
CREATE TRIGGER tinsert
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
UPDATE good SET gnum = gnum-new.much WHERE gid=new.gid;
END$
#(修改)
DELIMITER $
CREATE TRIGGER tupdate
AFTER UPDATE ON orders
FOR EACH ROW 
BEGIN
UPDATE good SET gnum = gnum - new.much + old.much WHERE gid = new.gid;
END$

#测试(自己编写测试语句,并查询检验 触发器是否起作用)


原创粉丝点击