2016-07-24 118 views
-1

我有2代表一個是posts而另一種是recent_viewed既有日期CURRENT_TIMESTAMP查詢刪除,如果在創建表一個是老年人超過31天

(職位)創造了

(recent_viewed)有日期

我希望通過比較(posts)表中刪除所有記錄,如果創建日期大於31天,則從recent_viewed表中刪除這些postID

模式

-- 
-- Table structure for table `recent_viewed` 
-- 

CREATE TABLE IF NOT EXISTS `recent_viewed` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `postID` int(11) NOT NULL, 
    `memberID` int(11) NOT NULL, 
    `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- 
-- Dumping data for table `recent_viewed` 
-- 

-- 
-- Table structure for table `posts` 
-- 

CREATE TABLE IF NOT EXISTS `posts` (
    `postID` int(11) NOT NULL AUTO_INCREMENT, 
    `title` varchar(70) NOT NULL, 
    `name` varchar(32) NOT NULL, 
    `city` varchar(32) NOT NULL, 
    `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`postID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- 
-- Dumping data for table `posts` 
-- 

PS:我不擅長這就是爲什麼我要求這幫助將是非常感謝你。

感謝

+0

PLZ提供架構設計,以獲得更好的答案。 –

+0

嗨我已經張貼在第一篇文章編輯 – lalthung

+0

嘗試做一個加入,我建議張貼一些樣本數據和預期的結果 – TheGameiswar

回答

1

這不是一個有效的解決方案,但一個簡單的其中一個鐵定可以幫助你:

delete from recent_viewed where postID in (
select postID from posts where abs(datediff(CURRENT_TIMESTAMP,posts.created)) > 31); 
+0

非常感謝幫助的隊友。真的很感謝你的好意 – lalthung

+0

歡迎。我們是來幫你的... –

相關問題