mysql 和=,在MySQL中,=和:=有什么区别?

What is the difference in between

set test_var = 20;

and

set test_var:=20;

as they both seem to assign the value ?

解决方案

Both of them are assignment operators but one thing I can find their differences is that = can be used to perform boolean operation while := cannot.

valid: SUM(val = 0)

Invalid: SUM(val := 0)

One more thing, You can also assign a value to a user variable in statements other than SET. In this case, the assignment operator must be := and not = because the latter is treated as the comparison operator = in non-SET statements.

mysql> SET @t1=1, @t2=2, @t3:=4;

mysql> SELECT @t1, @t2, @t3, @t4 := @t1+@t2+@t3;

+------+------+------+--------------------+

| @t1 | @t2 | @t3 | @t4 := @t1+@t2+@t3 |

+------+------+------+--------------------+

| 1 | 2 | 4 | 7 |

+------+------+------+--------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值