2011-05-06 47 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