删除除以外的所有行

ker*_*lin 3 mysql syntax sql-delete

当我执行此查询时:

DELETE FROM `wp_posts` WHERE id NOT IN 
  (SELECT id FROM wp_posts WHERE post_status = 'publish')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

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

不确定这里的语法问题.

Che*_*min 12

这可以在不使用子查询的情况下完成.请尝试以下方法

DELETE FROM 'wp_posts' WHERE post_status != 'publish'
Run Code Online (Sandbox Code Playgroud)