[英]Update query for two different Column in two different table-MySQL
我正在處理upwork類型的項目,並希望創建一個出價更新查詢。 用戶有免費出價(他每月默認獲得)和專業出價,可以按一定金額購買。
現在,如果他將適用於任何工作,然后我想更新-1
為job_quota(如果它不為0的話),然后-1
從親投標升序排列。
我的表結構(在用戶表中):
使用者
job_quota -------->id
12---------------->53
買入價
id---->no_bids--->amount_paid--->user_id
1-----> 20------------>20---------------> 53
2-----> 20------------>20---------------> 53
3-----> 20------------>20---------------> 53
我有這樣的想法-但我不知道如何將其實現到MySQL查詢中:
$query=<<< SQL
update users set job_quota=job_quota-1 if ( job_quota !=0 )
else update buy_bids set no_bids =no_bids-1 where user_id=53
SQL;
誰能建議我如何實現它,我不是在尋找准確的解決方案,但需要您的幫助和建議,我應該嘗試如何實現這一目標。
非常感謝。
這是我的建議:
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
$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
');
}
像這樣嗎?
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;
這未經測試。 只是一個建議。 我不確定else條件,所以只添加了users.job_quota =0
。 相應地更改它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.