微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – MySQL默认日期()14天,一列?

我想知道以下是否可以通过MySQL进行,或者是否必须使用PHP完成.

任务 – “到期日”

>用户输入产品名称
>用户单击提交表单按钮
>数据被POST,然后发送到MysqL
>有效期=现在14天

我想要实现的是MysqL在表列中插入“expiry_date”的方法,该表将在该表中创建行的日期之后等于14天.

例如

product_name - foo
entry_date - 2012-02-01
expiry_date - 2012-02-15

我有一种感觉,除非使用存储过程,否则可能无法在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);

在每次插入表中时,触发器将entryDate设置为当前时间并将expDate设置为14天时间.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐