设置新值触发器

时间:2012-12-05 05:43:29

标签: php mysql database

我希望能够在将数据插入表格之前计算客户的年龄...因此触发器是合适的。所以我有一个CUSTOMER表,其中包含值“age”,这是一个INT。

我不确定我的语法是否已关闭,但它一直给我一个错误。以下是我的代码,谁能告诉我出了什么问题?

由于

DELIMITER $$
CREATE TRIGGER insert_new_musc_record  
BEFORE INSERT ON CUSTOMER FOR EACH ROW  
BEGIN  
DECLARE x INT;
SET x= DATEDIFF(NOW(), DATE(NEW.dob))/365);
SET @NEW.age= x;
END $$ 
DELIMITER; 

1 个答案:

答案 0 :(得分:1)

试试这个::

DELIMITER $$
CREATE TRIGGER insert_new_musc_record  
BEFORE INSERT ON CUSTOMER FOR EACH ROW  
BEGIN  
DECLARE x INT;
SET x := (DATEDIFF(NOW(), DATE(NEW.dob))/365);
SET @NEW.age= x;
END $$ 
DELIMITER;