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

时间:2011-09-11 13:28:21

标签: mysql

我收到此错误:

  

您无法在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 个答案:

答案 0 :(得分: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