在脚本之家看到的博客MySQL中“:=”和“=”的区别浅析说到=:=,他是这样解释的:

=
只有在set和update时才是和:=一样,赋值的作用,其它都是等于的作用。鉴于此,用变量实现行号时,必须用:=。
:=
不只在set和update时时赋值的作用,在select也是赋值的作用。

明明很简单的概念,解释得那么麻烦,还是Google看一下MySQL原文档吧
在12.3.4这一小节中,小标题叫 Assignment Operators,这就就明确了,这两货=:=都是赋值操作符。

但是但是,:=这才是正儿八经的赋值操作符,不管什么情况下都是赋值操作符。

=更像是混子,你使用UPDATE更新语句的时候,对于SET field=new_value这条语句不陌生吧,这个时候=就是一个正儿八经的赋值操作符

但你使用SELECT查询语句的时候,比如用到WHERE子句WHERE username=Tom,这个时候,=就被解释为比较操作符

参考:
12.3.4 Assignment Operators

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐