如何让MYSQL数据库一个字段等于另外几个字段之和?
如上所示,这个表可以得到bqxx,bqtz,bqwc,bqwb,bqjl五个字段的值,而sum是我另外加上去的,之后使用了updatesumsetsum='bqxx'+'...
如上所示,这个表可以得到bqxx,bqtz,bqwc,bqwb,bqjl五个字段的值,而sum是我另外加上去的,之后使用了update sum set sum='bqxx'+'bqtz'+'bqwc'+'bqwb'+'bqjl';然后就得出sum值等于8,可是当我新加一条记录,即ID=3那条之后,sum值还是0,未更新,所以我想问下,怎么弄可以让每一条新记录在加入之后就立马得到sum的值?
展开
展开全部
用触发器的方式可以实现,不知道你的id字段是不是自增字段,假定是,给你个大概的例子
CREATE TRIGGER test_tri ON [dbo].[表]
FOR INSERT
AS
DECLARE @id VARCHAR(20)
SELECT @id=id
FROM INSERTED
update sum set sum=ifnull(bqxx,0)+ifnull(bqtz,0).....
where id=@id
因我数据库是sqlserver,,mysql写法有差异,,你具体看下吧
追问
test_tri db0 表分别是什么意思?有哪些需要替换的?我是新手,看不大懂。
追答
DROP TRIGGER IF EXISTS t_afterINSERT_on_表;
CREATE TRIGGER t_afterINSERT_on_表
BEFORE INSERT ON 表
for each row
set NEW.sum = new.bqxx+new.bqtz.....;
用这个试试,,,,好久没用mysql,忘记语法了,test_tri 是我随便起的触发器的名字
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |