如果我單獨創建這兩個MySQL觸發器,兩者都執行正常。但我沒有設法將它們結合起來,以便能夠延長持續時間x率。Mysql觸發器,選擇並更新
DROP TRIGGER IF EXTERNTS deduct_balance
; CREATE DEFINER = root
@localhost
TRIGGER deduct_balance
更新後ON transactions
FOR EACH ROW SET @Rate =(SELECT速率FROM語言WHERE languages.idlanguages = contracts.languages_idlanguajes);
DROP TRIGGER IF EXTERNTS deduct_balance
; CREATE DEFINER = root
@localhost
TRIGGER deduct_balance
UPDATE ON transactions
FOR EACH ROW AFTER UPDATE SET合同= balance
平衡 - (UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date))/ 60 WHERE contracts.idcontracts =新.contracts_idcontracts
COMBINED(I GET ERROR) DROP TRIGGER IF EXTERNTS deduct_balance
; CREATE DEFINER = root
@localhost
TRIGGER deduct_balance
更新後ON transactions
FOR EACH ROW SET @Rate =(SELECT速率FROM語言WHERE languages.idlanguages = contracts.languages_idlanguajes); UPDATE contracts SET balance
= balance - (UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date))/ 60; WHERE contracts.idcontracts = new.contracts_idcontracts
任何想法?
我得到這個錯誤 錯誤 CONSULTA SQL:
UPDATE合同SET balance
=平衡 - (UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date))/ 60; 的MySQL公頃dicho:Documentación
你會得到什麼錯誤? – dgig
你有額外的;在COMBINED查詢中的WHERE之前。 'balance - (UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date))/ 60; WHERE' – Tin
正確的;不應該在那裏,但錯誤仍然存在 – Victor