一、mysql學習筆記-------------觸發器
觸發器四要點:
1.監視誰(table)
2.監視事件(insert/update/delete)
3.觸發時間(after/before)
4.觸發事件(insert/update/delete)
語法: create trigger 觸發器名稱
after/before(觸發時間)
insert/update/delete(監視事件)
on 表名(監視誰)
for each row
begin
sql1;.......sqln;
end例子: 商品表
create table `goods` (
`gid` int(11) default null,
`name` varchar(255) default null,
`num` smallint(6) default null
); 訂單表
create table `orders` (
`oid` int(11) default null,
`gid` int(11) default null,
`num` smallint(6) default null
) 1.下單後,對應商品的數量減去下單數量
create trigger t1
after insert on orders
for each row
begin
update goods set num = num - new.num where gid = new.gid;
end;
2.刪除訂單後,對應商品的數量加上下單數量
create trigger t2
after delete on orders
for each row
begin
update goods set num = num + old.num where gid = old.gid
end;
3.只修改訂單數量
create trigger t3
before update on orders
for each row
begin
update goods set num = num + old.num - new.num where gid = old.gid;
end;
4.當下訂單時,對應商品的數量減去下單數量,並檢測是否爆倉,如果爆倉則只修改庫存裡的
create trigger t4
before on orders
for each row
begin
declare rnum int;
select num into rnum from goods where gid = new.gid;
if new.num>rnum then
set new.num = rnum;
end;
update goods set num = num - new.num where gid = new.gid;
end;
Mysql學習筆記一
最近在學習mysql,以後工作會慢慢往這方面轉向,所以提前預習。現在全世界都喊著去ioe,所以咱也必須提前做個準備。衝.第一章基礎知識 1 改變表結構 增加列 alter table test add name char 6 更改列定義 alter table test change year bo...
Mysql學習筆記一
一 mysql資料型別 1 整數 浮點數 定點型別 1個位元組佔8位,漢字佔兩個位元組 16位 正數定義成unsigned 定點數 decimal m,d m表示總長度 d表示小數字 存入的時候四捨五入計算 範圍與double相同 例子 decimal 5,2 123.45 2 日期與時間 一般用d...
Mysql學習筆記(一)
近來發現資料庫是個很有用的東西,所以了解看看。配置完了mysql,熟悉一下mysql的基本操作。mysql的基本操作一般都是利用命令列來實現,值得注意的是使用cmd命令行時,必須要使用管理員身份執行,不然沒有許可權訪問mysql。一切準備工作就緒之後,首先啟動mysql,在命令列中輸入net sta...