집 >데이터 베이스 >MySQL 튜토리얼 >SQL UPDATE 문 평가 순서는 표준을 따르며, 다른 데이터베이스에서는 이를 어떻게 처리합니까?
SQL UPDATE 평가 순서
SQL UPDATE 문에서 평가 순서에 따라 후속 식이 수정된 값에 의존하는지 여부가 결정됩니다. 이 문서에서는 쿼리의 평가 순서를 살펴봅니다.
UPDATE tbl SET q = q + 1, p = q;
MySQL 평가 순서
MySQL에서 평가 순서는 "왼쪽에서 오른쪽"입니다. 이는 "p"에 대한 할당에서 "q 1" 표현식이 "q"보다 먼저 평가됨을 의미합니다. 따라서 tbl.p는 증가되기 전에 q의 값으로 설정됩니다.
SQL Standard
SQL92 사양에 따르면 "[값 표현] T의 행을 업데이트하기 전에 T의 각 행에 대해 효과적으로 평가됩니다." 그러나 이 진술은 명시적으로 명확하지 않습니다.
구현 및 동작
표준에도 불구하고 구현은 평가 순서에 따라 다릅니다. 테스트에 따르면 다음 데이터베이스는 tbl.p를 q로 설정했습니다.
반면에 다음 데이터베이스는 tbl.p를 q 1로 설정합니다.
MySQL 버그 및 문서 업데이트
MySQL은 이전에 다수의 동작을 무시했지만 버그가 발생하고 문서가 명시적으로 반영되도록 업데이트되었습니다. "왼쪽에서 오른쪽으로" 평가 순서. 이 동작은 표준 SQL과의 차이점으로 표시됩니다.
위 내용은 SQL UPDATE 문 평가 순서는 표준을 따르며, 다른 데이터베이스에서는 이를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!