我正在开展upwork类型项目,并希望为出价创建更新查询。
用户可以免费出价(默认情况下每月获得)和专业出价,可以购买一定金额
现在,如果他申请任何工作,那么我想更新-1
for job_quota(如果它已经不是0),然后{pro}升级为专业出价{/ p}}。
我的表格结构(在用户表格中):
用户
-1
Buy_bids
job_quota -------->id
12---------------->53
我有这样的想法 - 但我不知道如何将它实现到MySQL查询中:
id---->no_bids--->amount_paid--->user_id
1-----> 20------------>20---------------> 53
2-----> 20------------>20---------------> 53
3-----> 20------------>20---------------> 53
任何人都可以建议我如何实现它,我不是在寻找准确的解决方案,但我需要你的帮助和建议我应该尝试实现这一点。
非常感谢。
答案 0 :(得分:1)
这是我的建议:
UPDATE users
IF (job_quota NOT IN 0 )
THEN SET job_quota = -1
ELSE (UPDATE buy_bids SET no_bids = no_bids -1
WHERE users.id = 53)
WHERE id= 53
答案 1 :(得分:0)
$stmt = $mysqli->query('
update users
set job_quota=job_quota-1
where job_quota != 0
and user_id=53
');
if ($stmt->affected_rows == 0) {
$mysqli->query('
update buy_bids
set no_bids =no_bids-1
where user_id=53
');
}
答案 2 :(得分:0)
这样的东西?
Update users ,buy_bids
set users.job_quota = case when users.job_quota !=0 then
users.job_quota-1
else users.job_quota end,
buy_bids.no_bids =case when users.job_quota =0 then
buy_bids.no_bids-1
else buy_bids.no_bids end
WHERE users.user_id=buy_bids.user_id
and users.user_id=53;
未经测试。只是一个建议。我不确定其他条件,所以只添加了users.job_quota =0
。相应地改变。