【问题标题】:Delete Rows based on Reference IDs根据参考 ID 删除行
【发布时间】:2011-05-06 16:53:17
【问题描述】:

我正在开发一个 AIR 应用程序,该应用程序使用本地 SQL lite DB 存储信息,然后在每天结束时将数据发布到服务器上的 MySQL DB。数据由用户会话成组发布。数据发布后,我需要根据会话 ID 删除与该会话关联的所有行。我已经阅读了该站点上的许多帖子并看到了许多方法来做到这一点 - 不幸的是,我没有成功让它们在 SQL lite Manager 中运行 - 在我将其放入操作脚本代码之前我一直在测试。以下是这样一种尝试:

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 表,我试图在其中删除与会话关联的所有行。

【问题讨论】:

标签: sql sqlite air sql-delete


【解决方案1】:

你可以试试这样的:

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

【讨论】:

  • 这似乎确实有效-thanx。那是我尝试使用别名吗?
  • 下一个问题 - 相同的项目,但对于另一个表,该表被引用两个表,该表与包含 session_id 参考的 screen_view 表相距两个表。我需要从 vendor_watched 表中删除与会话关联的行 - 连接到 video_view 表。以下 select 语句为我提供了行: select vw.* from screen_view sv left join video_view vv on (sv.id=vv.screen_view_id) left join vendor_watched vw on (vv.id=vw.video_view_id) where sv.session_id =48和 vw.id thanx 再次
猜你喜欢
  • 1970-01-01
  • 2016-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多