Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

=와:=대입 연산자의 차이점은 무엇입니까?


사실, 둘 다 할당 연산자이고 값을 할당하는 데 사용되지만 이들 사이의 중요한 차이점은 다음과 같습니다 -

=연산자는 SET 문의 일부 또는 UPDATE 문의 SET 절의 일부로 값을 할당합니다. 다른 경우에 =연산자는 비교 연산자로 해석됩니다. 반면 :=연산자는 값을 할당하며 절대 비교 연산자로 해석되지 않습니다.

mysql> Estimated_cost1 업데이트 SET Tender_value ='8570.000' 여기서 id =2;Query OK, 1개 행이 영향을 받았습니다(0.06초) 행 일치:1 변경됨:1 경고:0mysql> Estimated_cost1 SET Tender_value 업데이트:='8575.000' where id =2;쿼리 OK, 영향을 받는 1개 행(0.06초) 일치하는 행:1 변경됨:1 경고:0

위의 두 쿼리에서 =연산자와 테이블 값을 업데이트하기 위해 =연산자를 사용했습니다.

mysql> Set @A =100;Query OK, 영향을 받는 행 0개(0.01초)mysql> Select @A;+------+| @A |+------+| 100 |+------+1 row in set (0.00 sec)mysql> Set @B :=100;Query OK, 영향을 받는 0 row (0.00 sec)mysql> Select @B;+------ +| @B |+------+| 100 |+------+1 행 세트(0.00초)

위의 두 쿼리에서 =연산자와:=연산자를 사용하여 사용자 변수에 값을 할당했습니다. =연산자와:=연산자는 두 상황 모두에서 동일한 사용법과 기능을 가지고 있음을 알 수 있습니다. 그러나 다음 쿼리에서 =연산자는 비교 연산자로 작동하고 결과를 'TRUE'로 제공합니다. 즉, 사용자 변수 @A와 @B가 모두 동일한 값을 갖습니다.

<미리>mysql> @A =@B;+---------+| 선택 @A =@B |+---------+| 1 |+---------+1 행 세트(0.00초)