0

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

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

谢谢

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; 
4

1 回答 1

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;
于 2012-12-05T05:48:26.167 回答