请教一下

1、比如数据库有一条数据,   数据1   金额1  状态0

2、那么我现在会插入一笔数据  数据1  金额2 状态 0

3、插入2前,我要将1的状态改为状态1

4、同样的新增数据前,会将数据1  状态为0的都更改为状态1 ,数据1 状态1 的数据不变

这样可以做到吗。该怎么做

FineReport 小家家 发布于 2020-6-30 15:21
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
luojian0323Lv7资深互助
发布于2020-6-30 15:23(编辑于 2020-6-30 15:24)

数据库触发器,结合视图可以实现.

我有过案例

我的案例是这样的,有一些产品报价数据,当新插入数据,或者修改某个报价数据时,只要选择为最终报价 ,数据库中的状态就为1,当前产品历史报价的状态,全部改为0

  • 小家家 小家家(提问者) 我就是想每次插入前,更改上一次记录的状态 ,这样要怎么做呢
    2020-06-30 15:25 
  • 小家家 小家家(提问者) 要用触发器吗,还是直接在填报里面可以做到
    2020-06-30 15:26 
  • luojian0323 luojian0323 回复 小家家(提问者) 填报里只能根据主键修改,也就是说,填报里没有的主键你修改不了.所以建议用数据库触发器来操作.视图是用来重新查询结果,触发器用来将视图中的结果更新到表中.
    2020-06-30 15:27 
  • 小家家 小家家(提问者) 回复 luojian0323 也就是说要想这个字段更新,一定是需要绑定这个数据字段为主键的是吗
    2020-06-30 15:32 
  • luojian0323 luojian0323 回复 小家家(提问者) 填报是这样的.有主键的情况下才能更新对应的数据记录.
    2020-06-30 15:33 
  • 2关注人数
  • 343浏览人数
  • 最后回答于:2020-6-30 15:24
    请选择关闭问题的原因
    确定 取消
    返回顶部