tom*_*ato 4 php mysql date default-value
我想知道以下是否可以通过MySQL进行,或者是否必须使用PHP完成.
任务 - "到期日"
我想要实现的是mysql在表列中插入"expiry_date"的方法,该表将在该表中创建行的日期之后等于14天.
例如
product_name - foo
entry_date - 2012-02-01
expiry_date - 2012-02-15
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,除非使用存储过程,否则可能无法在mysql中执行.
我很高兴用PHP做到这一点,但我希望如果我能用mysql做它,它会在我的系统中留下更少的错误范围.
谢谢
创建一个表并为该表设置触发器.
CREATE TABLE product(
product_id INT PRIMARY KEY,
product VARCHAR(40),
entryDate DATETIME,
expDate DATETIME
);
CREATE TRIGGER test_trigger BEFORE INSERT ON `product`
FOR EACH ROW SET
NEW.entryDate = IFNULL(NEW.entryDate, NOW()),
NEW.expDate = TIMESTAMPADD(DAY, 14, NEW.entryDate);
Run Code Online (Sandbox Code Playgroud)
在每个插入表中,触发器设置entryDate为当前时间和expDate14天时间.