我有2表的設置是這樣的:MYSQL多表刪除
Items:
id (int)
name (varchar)
category (int)
last_update (timestamp)
Categories
id (int)
name (varchar)
tree_id (int)
我想從Items
刪除所有記錄,誰的last_update
今天是不是和誰的相應categories.tree_id
等於1。然而,我不希望從Categories
表中刪除任何內容,只需要刪除Items
表中的任何內容。我嘗試這樣做:
$query = "DELETE FROM items USING categories, items
WHERE items.category = categories.id
AND categories.tree_id = 1
AND items.last_update != '".date('Y-m-d')."'";
然而,這似乎只是刪除每一條記錄誰的tree_id
是1。應該保持項目爲1的tree_id
,只要他們last_update
場today
我在想什麼?
我明白了。好,謝謝! – djt
請注意,MySQL時間戳字段與UNIX時間戳不相同。您現在唯一的問題是將時間戳字段(其中包含日期和時間組件)與只有日期值進行比較。這提出了一個包含日期字段(而不是時間戳或日期時間字段)的解決方案,它不會讓您知道last_update的H:m時間組件。 –