我想知道以下是否可以通过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 举报,一经查实,本站将立刻删除。