당신은 FROM 절에서 업데이트 대상 테이블 'table_A'를 지정할 수 없습니다

면책 조항 :이 문서는 블로거 원본입니다은 허용 블로거없이 복제 할 수 없다. https://blog.csdn.net/weixin_39207535/article/details/88547757

델 MySQL과 하위 쿼리와 업데이트가이 잘못보고됩니다 때

-> MYSQL에서, 녹음이 처음 테이블을 선택 할 수 없기 때문에, 이들 조건 하에서 업데이트와 같은 테이블에서 레코드를 삭제

이 솔루션은되고 , 얻어진 결과를 선택하고 오류를 피할 수 있도록 다음 테이블의 중간에 의해 다시 선택

이 문제는 MySQL은, MSSQL에서 발생하고 오라클 문제가 발생하지 않습니다

자세한 내용은 SQL을 참조하십시오

원래 오류 SQL :

UPDATE table_A SET status=1 
WHERE A_id IN(
  SELECT order_id FROM table_A_B WHERE B_id=23
)

SQL을 수정 후 :

UPDATE table_A SET status=1
WHERE A_id IN(
SELECT a.id FROM (
 SELECT id FROM table_A_B WHERE B_id=23
) a)

내부 서브 사이클의 상당 별명 연주

추천

출처blog.csdn.net/weixin_39207535/article/details/88547757