一直未解决问题的两个问题:行式填报时如何记录时间(创建时间、更新时间)

一直未解决问题:行式填报时如何记录时间(创建时间、更新时间)

表里的时间字段有两个,一个是创建时间,一个是更新时间,第一次提交时,两个字段值相等。

那么,怎么能够在插入时自动记录两个时间?并且更改这一行的某数据时,只对更新时间做记录,不更改插入时间???

创建时间更新时间_内置数据.cpt


有朋友提出了这个问题,但都没有得到简易的解决方案:

http://bbs.fanruan.com/wenda/question/7853.html


http://bbs.fanruan.com/wenda/question1/114398.html


FineReport alu 发布于 2019-6-20 11:15
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
aluLv3见习互助
发布于2019-6-20 15:56

我在mysql中创建了两个触发器,问题解决了:

DELIMITER $$

CREATE

    TRIGGER `test`.`updatetime` BEFORE UPDATE

    ON `test`.`emp`

    FOR EACH ROW BEGIN

SET new.updatetime=NOW(),new.createtime=old.createtime;

    END$$

DELIMITER ;


DELIMITER $$

CREATE

    TRIGGER `test`.`createtime` BEFORE INSERT

    ON `test`.`emp`

    FOR EACH ROW BEGIN

SET new.createtime=NOW();

    END$$

DELIMITER ;


最佳回答
1
doudekaixinLv6中级互助
发布于2019-6-20 13:58

自己写存储过程呗,直接调存储过程,提交按钮都省了。

  • alu alu(提问者) 我使用了触发器,应该是你所说的意思吧
    2019-06-20 15:57 
  • doudekaixin doudekaixin 回复 alu(提问者) 触发器。。。。虽然实现方式基本一致,但是,实际上数据库是能自定义存储过程就自定义存储过程而不去用触发器的,看来你没做过后端。 而且,自己的问题自己最优是什么鬼,而且还是在认可了别人回答的基础上。
    2019-06-20 16:01 
  • alu alu(提问者) 回复 doudekaixin 年轻人,你的回复并不是答案,更谈不到认可呀。只是想和你讨论一下存储过程而已。
    2019-06-20 16:12 
  • doudekaixin doudekaixin 回复 alu(提问者) 所以,你赢了~~~
    2019-06-20 16:28 
最佳回答
0
张洪威Lv6高级互助
发布于2019-6-20 11:28

我之前类似的是做成插入提交,记录插入数据的时间,每一次修改都是往数据库里面插入一条新的。

最后在sql 里面写判断,每条展示都是插入时间最大的那一条,这样就记录了插入修改历史。

  • alu alu(提问者) 多谢回答,我使用了触发器的方法,比较简单。
    2019-06-20 15:58 
  • softcat softcat 回复 alu(提问者) 请教一下,触发器怎么写的?怎么调用的?
    2021-03-10 14:11 
  • 3关注人数
  • 1301浏览人数
  • 最后回答于:2019-6-20 15:56
    请选择关闭问题的原因
    确定 取消
    返回顶部