看板 Database 關於我們 聯絡資訊
我的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
mervynW:少了分號 06/11 15:51
※ 編輯: knives 來自: 59.126.209.219 (06/11 15:56)
knives:是這樣嗎 06/11 15:57
mervynW:試試看吧 06/11 15:57
knives:還是不行阿 06/11 16:05
musie:先把if判斷式拿掉試試看, s.uid和r.uid沒交代 .. 06/11 16:24
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)
mervynW:no. trigger 有自己的 06/11 17:39