2012-12-03 134 views
1

我需要自動更新列中的觸發器。觸發器中的UPDATE語法錯誤

這裏是代碼:

create trigger sum update on `cash` 
for each row 
begin 
UPDATE `cash` 
SET `sum_cash` = `cash` + `sum_cash`; 
end; 
$$ 

而且我得到了以下錯誤:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update on `cash` for each row begin UPDATE cash` SE' at line 1 

我對MySQL的工作。

+1

「現金」既是表格,也是該表格上的字段,例如, 'cash.cash'?你正在使用它作爲表/字段,並不清楚,如果這是設計。 – Andrew

+0

是的,它的字段和名稱都是 – trinny

+0

你真的想更新***表中的所有***行嗎? –

回答

1

試試這個:

delimiter $$ 
create trigger my_sum after update on `cash` 
for each row 
begin 
UPDATE `cash` 
SET `sum_cash` = `cash` + `sum_cash`; 
end; 
$$ 

你錯過了afterbefore關鍵字。此外,由於sum是關鍵字,因此我更改了觸發器名稱。