[SQL ] Trigger可以這樣做

看板Database作者時間13年前 (2012/06/11 15:46), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/1
我的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

06/11 15:51, , 1F
少了分號
06/11 15:51, 1F
※ 編輯: knives 來自: 59.126.209.219 (06/11 15:56)

06/11 15:57, , 2F
是這樣嗎
06/11 15:57, 2F

06/11 15:57, , 3F
試試看吧
06/11 15:57, 3F

06/11 16:05, , 4F
還是不行阿
06/11 16:05, 4F

06/11 16:24, , 5F
先把if判斷式拿掉試試看, s.uid和r.uid沒交代 ..
06/11 16:24, 5F

06/11 16:25, , 6F
再把WHERE s.uid = 固定值看看..
06/11 16:25, 6F
我用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)

06/11 17:39, , 7F
no. trigger 有自己的
06/11 17:39, 7F
文章代碼(AID): #1FrQ90UR (Database)