首页 文章

您可以't specify target table ' wp_mail_queue'进行FROM子句中的更新

提问于
浏览
1

我收到此错误:

您无法在FROM子句中为更新指定目标表'wp_mail_queue'

由于这个查询:

DELETE FROM wp_mail_queue 
WHERE message_id = (SELECT message_id FROM wp_mail_queue ORDER BY id LIMIT 0, 1)
ORDER BY wp_mail_queue.id 
LIMIT 100

我想这是子查询的结果 . 用SELECT *替换DELETE,它会准确返回我要删除的条目 . 我需要的是一种重写方法,这样我就不需要在该子查询中查询wp_mail_queue,也不需要完全避免子查询 .

我的想法首先是变量,如果我能以某种方式将子查询分配给一个然后使用它?

1 回答

  • 4

    尝试:

    DELETE FROM wp_mail_queue 
    WHERE message_id = (SELECT * FROM (SELECT message_id FROM wp_mail_queue ORDER BY id LIMIT 0, 1) queue_table)
    ORDER BY wp_mail_queue.id 
    LIMIT 100
    

相关问题