作者knives ()
看板Database
标题[SQL ] Trigger可以这样做
时间Mon Jun 11 15:46:06 2012
我的DBMS是 Mysql
最近在尝试学Trigger
想到一个case
我目前有两个table topup_record //储值记录的表格
里面有 几个栏位 gp :要加多少积分 , pay_status :交易的状态 , uid : 用户的uid
另外一个table 是 user_tb
uid:用户的uid,credit,用户积分
我想利用trigger,去判断 当topup_record 里面的pay_status =2 的时候
就去修改user_tb 里面的 credit = credit+ topup_record.gp
就用下面的语法去增加
DELIMITER |
CREATE TRIGGER ADD_GPOINT AFTER UPDATE ON topup_record
FOR EACH ROW
BEGIN
IF New.pay_status = 2
THEN
UPDATE user_tb SET credit = credit + gpoint
WHERE s.uid = r.uid ;
END IF ;
END;
|
可是都会有错误 ,请问那里需要改才对
谢谢回答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.209.219
1F:推 mervynW:少了分号 06/11 15:51
※ 编辑: knives 来自: 59.126.209.219 (06/11 15:56)
2F:→ knives:是这样吗 06/11 15:57
3F:推 mervynW:试试看吧 06/11 15:57
4F:→ knives:还是不行阿 06/11 16:05
5F:推 musie:先把if判断式拿掉试试看, s.uid和r.uid没交代 .. 06/11 16:24
6F:→ musie:再把WHERE s.uid = 固定值看看.. 06/11 16:25
我用show grants 去看我的权限
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE
TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER
ROUTINE ON `mydb`.* TO 'mytest'@'localhost'
这样算有权限增加 trigger吗
※ 编辑: knives 来自: 59.126.209.219 (06/11 16:49)
7F:→ mervynW:no. trigger 有自己的 06/11 17:39