我有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