Andomar の回答でサブクエリを使用します。update および delete ステートメントで結合を使用するのは良くありません。
それは次のようなものでなければなりません
UPDATE wp_postmeta m SET m.meta_value = (SELECT p.ID FROM wp_posts p, articles a
WHERE m.post_id=p.ID AND m.post_id = a.id AND a.image IS NOT NULL
AND p.post_type='attachment' AND p.post_name=a.image)
WHERE m.meta_key='_thumbnail_id'
最初にバックアップしてください!私はこれをテストしませんでした。
うまくいかない場合は、選択できる場合は選択クエリを実行してみてください。選択されない (おそらく選択されない) 場合は、設計に対応するクエリの構造を確認してください。
SELECT m.meta_value, (SELECT p.ID FROM wp_posts p, articles a
WHERE m.post_id=p.ID AND m.post_id = a.id AND a.image IS NOT NULL
AND p.post_type='attachment' AND p.post_name=a.image) AS pID
FROM wp_postmeta m
WHERE m.meta_key='_thumbnail_id'
また、最初のクエリも試してください
SELECT m.meta_value, p.ID AS pID FROM wp_postmeta m
INNER JOIN articles a on (m.post_id = a.id)
INNER JOIN wp_posts p on (m.post_id = p.ID)
WHERE p.post_name=a.image
AND a.image IS NOT NULL
AND p.post_type='attachment'
AND m.meta_key='_thumbnail_id'
問題を見つけるために、選択クエリをいじったり変更したりしてみてください。