MySQL 오류 문제 해결: "FROM 절에서 업데이트할 대상 테이블을 지정할 수 없습니다."
이 일반적인 MySQL 오류는 UPDATE
문에 업데이트되는 동일한 테이블을 참조하는 하위 쿼리가 포함되어 있을 때 발생합니다. 이 관행에 대한 MySQL의 제한은 내부 처리 제한에서 비롯됩니다.
해결책에는 괄호를 사용하여 내부 쿼리 내에 테이블 참조를 캡슐화하는 것이 포함됩니다. 그러면 업데이트 작업을 위한 임시적이고 독립적인 데이터세트가 생성됩니다. 다음 예를 고려해보세요:
<code class="language-sql">UPDATE myTable SET myTable.A = (SELECT B FROM (SELECT * FROM myTable) AS subquery)</code>
여기서 내부 쿼리의 myTable
은 subquery
으로 별칭이 지정되어 기본 UPDATE
문과 효과적으로 구분됩니다. 그런 다음 MySQL은 이 하위 쿼리의 결과 집합을 사용하여 업데이트를 수행합니다.
최적의 성능을 위해서는 내부 쿼리 내에서 필요한 열만 선택하고 항상 WHERE
절을 포함하여 업데이트된 행을 구체화하세요. 이는 테이블 전체의 불필요한 처리를 방지합니다.
위 내용은 MySQL 오류를 해결하는 방법: 'FROM 절에서 업데이트할 대상 테이블을 지정할 수 없습니다'?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!