【问题标题】:MySQL query help. (delete from where)MySQL 查询帮助。 (从哪里删除)
【发布时间】:2013-06-20 11:57:59
【问题描述】:

我正在尝试根据另一个表中的 ID(项目、购买者)删除我的某些表中的几行。

这就是我想要做的......

从 items.sql 中删除,其中 'PurchasedBy' 为 84。删除来自 items_people 其中 item_id 是(item_id 在 items.sql 中从顶部开始 查询)从 item_id 所在的 items_places 中删除(item_id inside items.sql 来自顶部查询)

所以如果这有任何意义......这是我正在尝试的总和...... items.sql 包含行“item_id”和“purchasedBy”。 items_people 和 items_places.sql 需要根据 item_id 删除行,其中 purchaseby 为 84..

我真的希望这是有道理的,因为我一想到如何解释就头疼……对不起!

【问题讨论】:

  • 请您解释一下您要做什么,也许可以提供一个小例子?我很难说出来:-)

标签: mysql sql navicat


【解决方案1】:

MySQL 支持多表 DELETE 语法。

DELETE i.*, p.*, pl.*
FROM items AS i
LEFT OUTER JOIN items_people AS p USING (item_id)
LEFT OUTER JOIN items_places AS pl USING (item_id)
WHERE i.PurchasedBy = 84;

【讨论】:

  • 干杯伙伴。救了我的命……现在我可以去睡觉了。
【解决方案2】:

如果您只是在寻找正确的语法,那么您可以使用:

DELETE FROM {table} WHERE {param} = 84

将 {table} 替换为您的表名,并将 {param} 替换为您希望 ID 匹配的列,即 item_idpurchasedBy

目前我无法提供更好的建议,因为我不太了解您的表结构。

【讨论】:

  • 表结构items.sql --------- item_id |购买者 ---------- items_people.sql ------------------------ item_id items_places.sql ------------------ item_id
  • @Jayden - BillKarwins 的回答将满足您的需求。
猜你喜欢
  • 2021-07-14
  • 2011-11-07
  • 2011-07-19
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多