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天时间.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...