MySql小点心—1、赋值操作符"="与":="

SELECT 
  @x := IFNULL(@x, 0) + 1 AS 'index',
  rcv.nodeIp,
  rcv.target,
  rcv.rcvTime,
  rcv.failreason,
  rcv.beginTime,
  rcv.endTime,
  rcv.progress,
  rcv.usedTime,
  bizcode.codeValueMean AS taskStatus 
FROM
  scanner_resultreceive rcv,
  scanner_bizcode bizcode,
  (SELECT 
    @x := 0) r 
WHERE bizcode.fieldCode = 'taskStatus' 
  AND rcv.taskStatus = bizcode.codeValue rcv.resultID = #resultId#
  rcv.resultID IS NULL rcv.resultID IS NULL 
  
  SELECT  @x := IFNULL(@x, 0) + 1 AS 'index',rt.taskStatus  FROM scanner_taskresult rt ,   (SELECT 
    @x := 0) r 
    
    SELECT @x , @ww
    FROM 
(SELECT 
    @x := 0,@ww:=3) r     
    
View Code

上边是例子

http://www.2cto.com/database/201208/149469.html

赋值 + index序号处理 

 

对于刚接触到mysql的程序员来说,会对这两个符号有疑问,因为会发现有的代码里用这个有的用另一个。

当然他们是有区别的。他们的区别也比较简单:

 
“:=” 是真正意义上的赋值操作,左边的变量设置为右边的值。
  www.2cto.com  
"=" 则只在两种情况下作为赋值用,第一种就是在SET语句里面,SET var = value;
另一种是在UPDATE语句里面的那个SET,如update table_name set  column_name where....。

除了方面这两种情况外"="则作为比较操作符使用。
posted @ 2016-08-15 14:52  纯粹的人  阅读(219)  评论(0编辑  收藏  举报