2017-09-01 26 views
0

我試圖刪除在過去30天內未在我的數據庫中處於活動狀態的用戶。我有一個名爲userinfo和radpostauth的表。我正在使用這種說法,但沒有發生任何事情。如何從具有時間戳的兩個表中刪除用戶

DELETE FROM userinfo, radpostauth USING userinfo 
LEFT JOIN radpostauth ON radpostauth.username = userinfo.username 
WHERE authdate < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY)); 

它返回沒有錯誤,但沒有被刪除。任何人都可以請我指出正確的方向嗎?

+3

第一張,不管這種類型的JOIN返回任何記錄......? – CBroe

+0

用戶信息日期格式和使用date_sub函數得到的日期是否返回相同的日期格式? like 2017-08-02 16:21:53(YMD H:I:S) –

+0

NO select不返回任何記錄當我做出選擇時,出現此錯誤 #1064 - 您的SQL語法錯誤;請檢查與您的MySQL服務器版本對應的手冊,以找到正確的語法,以便在第1行使用userinfo,radpostauth USING userinfo LEFT JOIN radpostauth on radpostauth.u' –

回答

0

這個是什麼 - 好你通過一個SELECT語句檢查

DELETE FROM userinfo AS ui INNER JOIN radpostauth AS ra 
ON ui.userinfo = ra.userinfo 
AND ra.username = ui.username 
WHERE authdate < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY)); 
+0

#1064 - 您的SQL語法錯誤;檢查對應於您的MySQL服務器版本的手冊,以找到正確的語法,以便在第1行'ui INNER JOIN radpostauth ra ON ui.userinfo = ra.userinfo AND ra.username = u'附近使用 –

+0

使用更新的手冊。 –

+0

我是新來的DB請求你能指出我在正確的方向與phpymadmin 5.1工作 –