programing

선택 쿼리를 사용하여 테이블 업데이트

sourcejob 2022. 11. 4. 23:27
반응형

선택 쿼리를 사용하여 테이블 업데이트

그래서 몇 개의 글을 읽었는데 MySQL에서 작동하지 않는 것 같아요.

항목 ID를 기반으로 [항목] 테이블에 업데이트하려는 항목 ID가 있는 레코드의 '카운트'가 거의 있습니다.[인기]

내가 시도한 것은 다음과 같습니다.

Update items
SET items.popularity = countitems.countofscriptiD
FROM items
INNER JOIN
(SELECT Count(scripts.ScriptID) AS CountOfScriptID, scripts.ItemID
FROM scripts GROUP BY scripts.ItemID) as countitems
ON
items.itemid =  countitems.itemid

그러면 MySQL 오류가 반환됩니다.

1064 - SQL 구문에 오류가 있습니다. 올바른 구문은 MariaDB 서버 버전에 해당하는 매뉴얼을 참조하십시오.

FROM 항목 INSER JOIN(SELECT 카운트(스크립트)) 근처.ScriptID) AS Count Of Script아이디, 3번째 줄에 '스크리'

이것을 SELECT 쿼리로 변경하면 [항목] 또는 카운트 쿼리 중 하나를 선택하여 정상적으로 동작하지만 업데이트 문장이 실패합니다.

어떤 조언이라도 좋아요, 제가 읽은 바로는 어디가 잘못된 건지 모르겠어요.

올바른 방법은 SET 전에 테이블 결합을 수행하는 것입니다.

UPDATE items
INNER JOIN
(SELECT Count(scripts.ScriptID) AS CountOfScriptID, scripts.ItemID
FROM scripts GROUP BY scripts.ItemID) as countitems
ON
items.itemid =  countitems.itemid
SET items.popularity = countitems.countofscriptiD

https://dev.mysql.com/doc/refman/8.0/en/update.html 를 참조해 주세요.

언급URL : https://stackoverflow.com/questions/51977955/update-table-using-a-select-query

반응형