2011-05-06 45 views
0

我正在使用本地SQL精簡版數據庫在每天結束時將數據發佈到服務器上的MySQL數據庫之前存儲信息的AIR應用程序。數據按用戶會話分組發佈。一旦數據發佈,我需要根據會話ID刪除與該會話相關的所有行。我已經閱讀了很多關於這個網站的文章,並且看到了很多方法來做到這一點 - 不幸的是我沒有成功讓他們在SQL精簡版管理器中運行 - 在我將它放入actionscript代碼之前,我一直在測試它。下面是一個這樣的嘗試:基於引用ID刪除行

DELETE vendor_interest 
    FROM vendor_interest v 
INNER JOIN screen_view s on s.id = v.screen_view_id 
         and s.session_id = 44 

的screen_view表具有參考會話ID,並在那裏我試圖刪除與會話相關聯的所有行vendor_interest表。

+0

SQLite不容許使用與DELETE語句加盟:http://www.sqlite.org/syntaxdiagrams.html#delete-stmt – user276648 2011-10-28 02:07:05

回答

1

你可以嘗試這樣的事情:

DELETE FROM vendor_interest 
WHERE screen_view_id IN (SELECT id FROM screen_view WHERE session_id = 44); 
+0

那似乎工作 - thanx。 那麼我嘗試使用別名? – dave 2011-05-06 17:50:46

+0

下一個問題 - 相同的項目,但是另一個表格是從包含session_id ref的screen_view表格引用兩個表格引用的。 我需要從vendor_watched表中刪除與會話關聯的行 - 連接到video_view表。以下select語句得到我行: 選擇VW * 從screen_view SV 左連接上VIDEO_VIEW VV(sv.id = vv.screen_view_id) 左加入vendor_watched大衆對(vv.id = vw.video_view_id) 其中sv.session_id = 48和vw.id thanx – dave 2011-05-06 18:07:22