• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL触发器统计子表数量

MySql 海叔叔 2个月前 (05-11) 9次浏览 已收录 0个评论

关键词
MySQL 触发器 统计

摘要

本文介绍MySQL使用触发器来统计关联的子表的记录条数。

zaho_account表是账户总表,zaho_tihuo_code是关联的子表。在zaho_account表中有一个字段:a_code_used,表示该账号下有多少条code记录。

触发器代码如下:

— 插入
DELIMITER //

DROP TRIGGER IF EXISTS tihuo_code_insert;
CREATE TRIGGER tihuo_code_insert AFTER INSERT ON zaho_tihuo_code
FOR EACH ROW BEGIN
UPDATE zaho_account SET a_code_used=a_code_used+1 WHERE a_id=NEW.account_id;
END//

— 删除
DELIMITER //

DROP TRIGGER IF EXISTS tihuo_code_delete;
CREATE TRIGGER tihuo_code_delete AFTER DELETE ON zaho_tihuo_code
FOR EACH ROW BEGIN
UPDATE zaho_account SET a_code_used=a_code_used-1 WHERE a_id=OLD.account_id;
END//

— 附赠一个把历史数据更新到a_code_used字段的SQL
UPDATE zaho_account a SET a_code_used=(select count(1) from zaho_tihuo_code where account_id=a.a_id)
关于MySQL触发器统计子表数量,本文就介绍这么多,希望对您有所帮助!


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址