删除第一张表的数据时,修改第二张表的相关字段的数值

表xf

xf_id vip total

1 1 10

2 1 100

3 2 80

4 3 50

表vip

vip jifen

1 1000

2 500

3 800

$sql = "delete from " . $fdyu->table('xf') .

" WHERE xf_id " . db_create_in(join(',', $_POST['checkboxes'])) . //假如$_POST['checkboxes']就是xf_id:1,2,3,4

" AND school_id=" . $school_id;

$db->query($sql);

那么在删除xf_id的同时,表vip里的

1 jifen=1000-110=890 如果xf里有多个一样的vip,则减去总和,如xf表里vip为1的有两条数据,他们的total和是110,

则减110

2 jifen=500-80=420

3 jifen=800-50=750

也就是说在删除表xf 里的数据的同时,表vip里的jifen要减去xf表里的total

------解决方案--------------------

大概思路

1.先获取要删除记录的vip,和每个vip共删除的总分

select vip,sum(total) from xf where xf_id in(1,2,3,4) group by vip;

保存为数组

vip为key

total为value

$arr = array(

'1' => 110,

'2' => 80,

'3' => 50

);

2.删除对应xf_id的记录

delete from xf where xf_id in(1,2,3,4);

3.修改vip表

foreach($arr as $vip=>$total){

update vip set jifen=jifen-$total where vip=$vip

}

------解决方案--------------------

可以考虑用触发器,在MYSQL执行,给你一个例子:

create trigger delete_jifen before delete on jifen

for each row

BEGIN

UPDATE users SET users.sum = users.sum -

(SELECT sum(jifen.jifen) from jifen WHERE jid = old.jid) where users.userid = old.userid;

END

相关课程推荐

《javascript初级视频教程》是JavaScript的入门课程,旨在让大家认识,了解JavaScript的常见概念

jQuery 很容易学习,希望通过我们的《jquery 基础视频教程》可以帮助大家来更好的学习jQuery。 jQuery 是一个 JavaScript 库,简化了 JavaScript 编程。

jQuery教程36130次播放

《javascript三级联动视频教程》介绍了javascript开发的三级联动功能,该功能在日常使用中还是经常能用的到的一个。

javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。没有它,你的前端生涯是不完整的。《php.cn独孤九贱(3)-JavaScript视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了javascript知识。

jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等,是全球最流行的前端开发框架之一。PHP中文网根据最新版本,独家录制jQuery最新视频教程,回馈PHP中文网的新老用户。

jQuery教程83264次播放

全部评论我要评论

取消发布评论发送

发布

1/1

php删除一张表数据的时候 把另一张表的数据也删除,剔除第一张表的数据时,修改第二张表的相关字段的数值...相关推荐

  1. 在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作?

    在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作? 目录 在Excel表格中,任意修改原工作表数据,新工作中内容跟着改变,如何操作? 1.例如将原成绩表中的表格,复制到新成绩表 ...

  2. 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题...

    今天在处理数据库过程中碰到这样的问题在插入一条数据到表中 系统报这样的错误 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题 表有一列是自增长的 ...

  3. kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表。

    kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表. 连用户表都没有 ,导致连 默认的 admin和guest都无法登陆自己的资源库!!!! 问题是 SQL语句里边使 ...

  4. MySQL可以同时修改两个表吗_(10)MySQL触发器(同时操作两张表)

    什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合.触发器的这种特性可以协助应用在数据库端确保数据的完整性. 举个例子,比如你现在有两个表[用户表]和[日志 ...

  5. 31-32 python mysql-connector创建数据、crud,where,排序,删除等。PyMSQL驱动,插入操作、查询操作、更新操作、删除操作、执行

    31Python MysSQL - mysql-connector驱动 使用pip命令安装mysql-connector: python -m pip install mysql-connector ...

  6. mysql没开启binlog恢复删除表_无全量备份、未开启binlog日志,利用percona工具恢复delete的数据...

    当我们忘记做全量备份时,并且没有开启binlog,并执行了delete from sbtest; 数据全部丢失,要想恢复是很有难度的. 今天,利用Percona Data Recovery Tool ...

  7. 【数据追梦人】毕业6年自学代码,2周面试30家企业,1年376张报表,选择决定人生!

     起初看到"数据追梦人"活动时候,我就在不理解数据和追梦有什么关系,数据不就是简单的从抽取.清洗.分析.报表.可视化等处理过程吗?然后我就草草关闭了页面继续了我的工作. 周末在家中 ...

  8. oracle:一个update修改两张表

    需求:用一个update语句修改两张表? 思路:用触发器来解决 触发器代码: 表a:table_a,表b:table_b,其中表b里面有表a的id,这个触发器意思是当修改表a的最后修改人:table_ ...

  9. 数据导不进oracle数据库,学习笔记:Oracle逻辑导出/导入 数据逻辑导出时跳过指定表不进行导出...

    天萃荷净 Oracle数据库逻辑exp导出时,跳过指定某些表,对其表中数据不进行导出 有一个需求,某个用户有很多张表,但是只能使用exp导出,而且想跳过其中某几张表,其他对象包括依赖关系都需要.针对这 ...

最新文章

  1. 如何解决C/C++中stack overflow问题
  2. DownloadProvider 源码详细分析
  3. 有时候明明没有问题的程序为什么通不过?
  4. android黑科技系列——爆破一款应用的签名验证问题
  5. 关于VerifyRenderingInServerForm方法的思考(转)
  6. hadoop之MapReduce的案例(多表关联)
  7. Linux高级编程--06.进程概述
  8. 深入理解Java内存模型
  9. Mac天真答疑「6」mac系统使用技巧入门
  10. intouch与PLC之间通讯状态监测和设置
  11. 2022年事件驱动策略研究报告
  12. 关于Eureka的自我保护模式
  13. Powerdesigner pdm视图看不到表注释comment问题
  14. vuepress博客主题—vuepress-theme-reco
  15. 几个优质的涵盖了各种语言的项目,快来看看吧
  16. Qualcomm QCA9379无线WiFi/蓝牙模块芯片参数介绍
  17. AutoHotKey简单入门
  18. MindMapper 与MindManager之间的区别
  19. 软件工程-第1章 绪论
  20. web前端--弹窗广告实现

热门文章

  1. php输出mysql的数据结构_php课程 13-43 mysql的数据结构是什么
  2. php+jquery实现图片上传预览_和拖动位置值,PHP教程:thinkphp jquery实现图片上传和预览效果...
  3. android外接键盘打汉字,Android在外接物理键盘时,如何强制调用系统软键盘
  4. 直接点oracle表编辑器,DbForge Studio for Oracle入门教程:如何在表编辑器中创建表...
  5. C语言定义外部变量或函数使得另一个C文件可以调用
  6. OpenCV学习笔记(三):图像对比度、亮度调整源码
  7. Django3 --- ASGI
  8. Spring Data JPA 从入门到精通~@EntityListeners注解示例
  9. ajax工作中使用模板
  10. php去除所有标点符号的方法,php如何去除标点符号