weixin_44507132
倔强的ID王
采纳率0%
2019-09-22 20:27

求助贴,mysql数据库问题

插入的数据是如下图所示,现在是无论输入什么,weid都是2,需要根据输入的tgwid值来确认weid值

图片说明

比如最后一行,这个tgwid的值对应的weid应该是3,想请各位大佬帮忙写下触发器,感激不尽
19.9.25
现在通过以下代码实现了这个功能

BEGIN
set new.weid='';
set new.weid = (select weid from 一个表格 where tgwid=new.tgwid) ;
END

另外说下,这个weid是固定是2,由于我有其他需求,所以必须要更改这个weid.
不过出现了另外一个问题,表后边还有一个state,正常状态下是1,如果发生问题,软件为把1改成2,但是由于我把weid改成了其他值,软件读取不到这条数据,就会直接插入一条state为2的表,导致数据库里面多了一个state=1的表,有没有办法可以删除这条多余的数据

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • u012737673 明教第三十四代觉主 2年前

    首先你这2个字段的映射规则是什么呢?即tgwid是怎么转到weid的;其次,不建议使用触发器,代替的做法是在应用层基于你的映射算法,提前计算好
    weid的值然后再insert到表中。

    点赞 2 评论 复制链接分享