질문:
다음을 기반으로 MySQL 테이블에서 행을 어떻게 삭제합니까? select 문의 결과는 무엇입니까?
코드(MySQL 5.0):
DELETE FROM posts where>
문제:
위 코드는 MySQL 5.0에서 작동하지 않으며 작동하는 솔루션을 찾고 싶습니다. 목표는 고유 ID가 없는 행을 삭제하는 것입니다.
답변:
IN 사용:
MySQL에서 , 하위 쿼리는 결과 집합을 반환합니다. DELETE 문에서 하위 쿼리 결과를 사용하려면 WHERE 절에 등호(=) 대신 IN 연산자를 사용해야 합니다.
수정된 코드:
DELETE FROM posts WHERE id IN ( SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 ) )
추가 고려 사항:
DELETE FROM posts p1 WHERE p1.id = ( SELECT p2.id FROM posts p2 WHERE p2.id = p1.id GROUP BY p2.id HAVING COUNT(p2.id) > 1 )
위 내용은 Select 문의 결과를 기반으로 MySQL 테이블에서 행을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!