tyhdxhl 2015-09-29 11:37:15
表结构如下
create table houses
(
houses_id int(10) not null auto_increment,
goods_id varchar(36),
goods_type varchar(10),
goods_name varchar(20),
goods_amount int,
sh_id varchar(10),
goods_sel_price decimal(12,2),
house_goods_price decimal(12,2),
primary key (houses_id)
);



①求计算 house_goods_price(金额) = goods_sel_price(单价) 乘 goods_amount(数量)

②当数量goods_amount字段发生改变时候 更新 house_goods_price值

求简单做法。
...全文
317 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
道玄希言 2015-09-29
  • 打赏
  • 举报
回复
触发器大概可以这么写 DELIMITER $$ DROP TRIGGER IF EXISTS houses_tgr$$ CREATE TRIGGER `houses_tgr` BEFORE UPDATE ON `houses` FOR EACH ROW BEGIN IF (OLD.goods_amount != NEW.goods_amount) THEN OR (OLD.goods_sel_price != NEW.goods_sel_price) THEN SET NEW.house_goods_price= NEW.goods_sel_price * NEW.goods_amount; END IF; END$$
道玄希言 2015-09-29
  • 打赏
  • 举报
回复
你这里 金额 = 单价 乘 数量, 就简单的两个字段的乘积, 因此根本不需要计算出来保存到数据表,而是在取数的时候, 查询中直接计算就可。 如果你一定需要將这个金额保存到表, 可以写个 触发器 来保存。
rick-he 2015-09-29
  • 打赏
  • 举报
回复
感觉没有必要将和保存在表里,直接就可以得到的,还要麻烦的触发器。
tyhdxhl 2015-09-29
  • 打赏
  • 举报
回复
触发器测试下 页面上正在想逻辑 大哥给的逻辑很好 !

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧