> 데이터 베이스 > MySQL 튜토리얼 > mysql의 하위 쿼리 위치에서 삭제 제한 사항 소개

mysql의 하위 쿼리 위치에서 삭제 제한 사항 소개

不言
풀어 주다: 2019-02-21 11:54:12
앞으로
4664명이 탐색했습니다.

이 기사에서는 MySQL의 하위 쿼리에 대한 특정 참조 값이 있는 경우 이를 참조할 수 있다는 점을 소개합니다.

1. mysql을 사용하여 삭제 작업을 수행할 때 하위 쿼리의 FROM 절과 업데이트/삭제 개체가 동일한 테이블을 사용하면 오류가 발생합니다. (관련 권장 사항: MySQL 튜토리얼)

mysql> DELETE FROM 'tab'(GROUP BY field1,field2 HAVING COUNT(id)>1 태그에서 min(id) 선택);
오류: 할 수 있습니다. FROM 절에 업데이트 대상 테이블 'tab'을 지정하지 마세요. (FROM 절에 업데이트 대상 테이블 'tab'을 지정할 수 없습니다.)

"동일 테이블" 제한으로 인해 대부분의 경우 추가 레이어를 추가할 수 있습니다.

DELETE FROM 'tab' where id in
(
    select id from 
    (
        select max(id) from 'tab' GROUP BY field1,field2 HAVING COUNT(id)>1
    ) ids
);
로그인 후 복사

2.delete from table... where table은 alias

  • mysql> delete from table a where a.id in (1,2); 구문 오류)

  • mysql> a.*에서 a.id를 (1,2)에서 선택합니다(성공적으로 실행됨)


위 내용은 mysql의 하위 쿼리 위치에서 삭제 제한 사항 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿