2012-04-28 5 views
1

を削除します。クロス表Iは、次のクエリを実行するとmysqlの

DELETE FROM wp_postmeta 
    WHERE post_id 
     NOT IN (
      SELECT post_id 
      FROM wp_postmeta a 
      INNER JOIN wp_sl_posts b 
      ON a.post_id = b.id 
      ) 

を、私は、エラーメッセージが表示されます。

You can't specify target table 'wp_postmeta' for update in FROM clause 

私は一種の理由を知っているが、私は本当に構文を知りません操作を実行するためにここで必要です。私は、ここや他の答えに基づいていくつかの異なる選択肢を試しましたが、運はありません。

+0

http://stackoverflow.com/questions/45494/mysql-error-1093-cant-specify- from-update-from-clause節のtarget-table-table –

答えて

2

これは基本的に同じであり、動作するはず

DELETE wp_postmeta 
FROM wp_postmeta 
left outer JOIN wp_sl_posts b ON a.post_id = b.id 
WHERE b.post_id is null 
1

を試してみてください。

DELETE FROM wp_postmeta 
WHERE post_id NOT IN (SELECT id FROM wp_sl_posts) 
関連する問題