2015-01-08 37 views
-2

我想寫一個if語句執行,如果用戶被禁止和時間已過去。我有一個名爲玩家的表,有一個用戶名,禁止和過期列。我如何檢查玩家是否被禁止並且他們的禁令已經過期(到期時間在當前時間之前),然後調用存儲過程。MySQL的IF和AND幫手

這是我曾嘗試:

IF (SELECT p.banned FROM players p WHERE p.username=user = 1 AND p.expires FROM players p WHERE p.username=user < NOW()) THEN 
Call unban(user); 
END IF; 

我發現如何做到這一點,這裏是代碼,但大多數人讀這可能已經知道如何做到這一點。在三個步驟中

IF (SELECT p.banned FROM players p WHERE p.username=user)=1 AND (SELECT p.expires FROM players p WHERE p.username=user) < NOW() THEN 
    Call unban(user); 
    END IF; 
+0

IF是一個函數,如果你不想使用它作爲流量控制,你需要它在BEGIN END塊中 – Mihai

回答

1

使用它:

  1. join table用戶和播放器
  2. 檢查其中過期> NOW()
  3. 執行上結果的查詢功能