作者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