我希望能够在将数据插入表格之前计算客户的年龄...因此触发器是合适的。所以我有一个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;
答案 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;