【问题标题】:mysql DELETE and limitmysql 删除和限制
【发布时间】:2022-01-17 17:09:00
【问题描述】:

我有一个查询正在显示包含特定元键的行。

select wp_woocommerce_order_itemmeta.*
from wp_posts, wp_postmeta
inner join wp_woocommerce_order_items, wp_woocommerce_order_itemmeta
where wp_posts.post_type = "shop_subscription"
and wp_postmeta.post_id = wp_posts.ID
and wp_postmeta.meta_key = "_shipping_country"
and wp_postmeta.meta_value = "FR"
and wp_woocommerce_order_items.order_id = wp_posts.ID
and wp_woocommerce_order_itemmeta.order_item_id = wp_woocommerce_order_items.order_item_id
and wp_woocommerce_order_itemmeta.meta_key = "_subtracted_base_location_taxes"

我想删除这些行,但有一个限制。我的这个 sql 出错了

DELETE wp_woocommerce_order_itemmeta.*
FROM wp_posts, wp_postmeta
inner join wp_woocommerce_order_items, wp_woocommerce_order_itemmeta
WHERE wp_posts.post_type = "shop_subscription"
and wp_postmeta.post_id = wp_posts.ID
and wp_postmeta.meta_key = "_shipping_country"
and wp_postmeta.meta_value = "FR"
and wp_woocommerce_order_items.order_id = wp_posts.ID
and wp_woocommerce_order_itemmeta.order_item_id = wp_woocommerce_order_items.order_item_id
and wp_woocommerce_order_itemmeta.meta_key = "_subtracted_base_location_taxes"
LIMIT 100

我了解到,当您同时引用多个表时,不能在 DELETE 中直接使用 LIMIT。我从mysql开始,我被卡住了。任何帮助都将不胜感激。

谢谢

【问题讨论】:

  • 尝试 DELETE wp_woocommerce_order_itemmeta ,删除点和星号
  • @FranCerezo 我通过从 mysql #1064 中删除点和星号但同样的错误尝试了您的解决方案
  • @ProGu 感谢您的解决方案,但正如我所说,不幸的是,我太菜鸟了,无法构建这种查询
  • @RG2022 : wp_woocommerce_order_itemmeta 有任何主键吗?主键列名称是什么?
  • @AliFidanli wp_woocommerce_order_itemmeta (主键是 meta_id) wp_woocommerce_order_items (主键是 order_item_id) wp_posts (主键是 ID) wp_postmeta (主键是 meta_id)

标签: mysql limit sql-delete


【解决方案1】:

试试这样的

delete a
from wp_woocommerce_order_itemmeta a
join (
  select wp_woocommerce_order_itemmeta.meta_id
  from wp_posts, wp_postmeta
  inner join wp_woocommerce_order_items, wp_woocommerce_order_itemmeta
  where wp_posts.post_type = 'shop_subscription'
  and wp_postmeta.post_id = wp_posts.ID
  and wp_postmeta.meta_key = '_shipping_country'
  and wp_postmeta.meta_value = 'FR'
  and wp_woocommerce_order_items.order_id = wp_posts.ID
  and wp_woocommerce_order_itemmeta.order_item_id = wp_woocommerce_order_items.order_item_id
  and wp_woocommerce_order_itemmeta.meta_key = '_subtracted_base_location_taxes'
  limit 100
) b on a.meta_id = b.meta_id

【讨论】:

  • 谢谢先生!完美工作感谢您的宝贵时间
【解决方案2】:
猜你喜欢
  • 2011-10-31
  • 1970-01-01
  • 2020-07-08
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多