私は2つのクエリを持っています:
UPDATE dws_photogallery_albums a
SET a.photoscount=(
SELECT COUNT(*) FROM dws_photogallery_photos p
WHERE p.albumid=a.albumid)
UPDATE dws_photoportfolio_photos a
SET a.photoscount=(
SELECT COUNT(*) FROM dws_photoportfolio_photos p
WHERE p.albumid=a.albumid)
最初は問題なく動作しますが、2番目にエラーが発生します:
#1093 - You can't specify target table 'a' for update in FROM clause
テーブルは同一です (名前のみが異なります)。それは何でしょうか?
UPD:男性、申し訳ありませんが、それは私のミスプリントです。クエリは次のようにする必要があります:
UPDATE dws_photogallery_albums a
SET a.photoscount=(
SELECT COUNT(*) FROM dws_photogallery_photos p
WHERE p.albumid=a.albumid)
UPDATE dws_photoportfolio_albums a
SET a.photoscount=(
SELECT COUNT(*) FROM dws_photoportfolio_photos p
WHERE p.albumid=a.albumid)
そして、どちらも私にとってはうまくいきます。回答ありがとうございます。もっとコーヒーが必要です