mysql基礎三 觸發器
阿新 • • 發佈:2018-03-20
觸發器商品表-- Table "goods" DDL:
PRIMARY KEY (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE goods
(gid
int(11) NOT NULL,name
varchar(20) DEFAULT NULL,num
smallint(6) DEFAULT NULL,
PRIMARY KEY (gid
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
訂單表-- Table "orders" DDL:
CREATE TABLE orders
(oid
int(11) NOT NULL,gid
int(11) DEFAULT NULL,much
smallint(6) DEFAULT NULL,
oid
)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
一、insert觸發器:
需求:客戶購買某個商品後,商品的庫存數量自動減少。
create trigger trigerInsertOrder after insert on orders for each row
begin
update goods set num=num-new.much where gid=new.gid;
end;
註意:new 表示orders表新增行。
二、delete觸發器:
需求:客戶取消訂單後,商品表的庫存數量自動增加。
create trigger triggerDeleteOrder after delete on orders for each row
begin
update goods set num=num+old.much where gid=old.gid
end;
註意:old 表示orders表刪除行。
mysql基礎三 觸發器