我想知道是否可以通过MySQL完成以下操作,还是必须使用PHP完成。
任务-“到期日期”
我试图实现的是mysql在表列中插入一个"expiry_date“的方法,该列在表中创建行的日期后14天。
例如:
product_name - foo
entry_date - 2012-02-01
expiry_date - 2012-02-15我有一种感觉,除非使用存储过程,否则在mysql中不可能这样做。
我很乐意用PHP来做这件事,但是我希望如果我能用mysql来做它,它会在我的系统中留下较少的出错空间。
谢谢
发布于 2012-02-08 11:02:07
创建一个表并为该表设置一个触发器。
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);在每个插入到表中时,触发器将entryDate设置为当前时间,expDate设置为14天时间。
发布于 2012-02-08 09:45:04
您可以在MySQL中使用MySQL方法。
DATE_ADD(date_starts,INTERVAL 14 DAY)例如:
UPDATE events SET date_starts = DATE_ADD(date_starts,INTERVAL 14 DAY) WHERE event_id = 3;有关更多细节,请访问这里。
发布于 2012-02-08 09:44:22
date = DATE_ADD(NOW(), INTERVAL 14 DAY)或者如前所述,将该字段(该field=的属性)的表结构更改为"on Update CURRENT_TIMESTAMP“
https://stackoverflow.com/questions/9190758
复制相似问题