난 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 :
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)
을 그리고 그들은 모두 나를 위해 확인 일 : 남자, 정말 미안 해요, 그냥 내 missprint의 쿼리 그렇게해야합니다. 답변 해 주셔서 감사합니다. 더 많은 커피가 필요합니다.
나는 첫 번째가 작동하는지 놀랍군요. –
음 ... 당신의 의견을 읽은 후에 나는 놀랐습니다. 좋아요, 나는 운명을 가지고 놀고 양쪽 쿼리를 다시 쓰고 싶습니다. (처음 작동하더라도) – Dmitry
가장 좋은 방법은 Devart의 답으로 JOIN하는 것입니다. –