MYSQL多表更新

有三张表:
tbl_order
id订单ID
uid用户ID
need_credit订单所需积分
status订单状态
....
tbl_coupon
id
uid
used_order优惠码所使用到的order.id
used0:未使用/1:已使用/2:已标记为不可用
....
tbl_member
id用户ID
credit用户积分
....
条件:传入$order_id
把tbl_order中
id={$order_id}
的status标记为2
把tbl_coupon中
used=2ANDused_order={$order_id}
的used标记为0,used_order标记为""
把tbl_member中
id=tbl_order.uid/*这里的tbl_order.uid是上面tbl_order.id={$order_id}那条数据的tbl_order.uid*/
的credit+=tbl_order.need_credit
需要由一句SQL来完成
请教了老师,用储存过程来分步实现了这个需求。
存储过程就是将若干sql封装成的一个用来调用的“函数”
虽然已经可以暂时告一段落,仍然期待着更完美的方案...
慕虎7371278
浏览 342回答 2
2回答

MMMHUHU

updatetable1asa,table2asb,table3ascseta.status=...,b.used=...,c.used_order=...where条件容易忽略的地方应该是在最开始的update中将要用到的几张表全部都引入。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript