我有2個疑問:奇怪的MySQL錯誤
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)
第一部作品不錯,但第二次給我的錯誤:
#1093 - You can't specify target table 'a' for update in FROM clause
表是相同的(只有名稱不同)。 它可能是什麼?
UPD:男性,我很抱歉,這只是我的missprint,查詢必須是這樣的:
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)
,他們都工作正常的我。 感謝您的回答,需要更多咖啡
我很驚訝,第一個是工作。 – 2012-04-13 08:02:21
好吧......讀完你的評論後,我也很驚訝。 好吧,我不想玩命運,並重寫這兩個查詢(即使第一次作品) – Dmitry 2012-04-13 08:06:20
最好的方法是加入,儘管作爲Devart的答案。 – 2012-04-13 08:08:55