找到此信息。
在MySQL
中,这两个命令有什么区别?
它们工作得很好,结果始终相同:
set @numRecords = (select count(*) from config);
set @numRecords := (select count(*) from config);
谢谢Davide
引用MySQL 5.7参考手册,第10.4节用户定义变量:
set,要么=或:=可以用作分配运算符。
您还可以为语句中的用户变量分配一个值 比设定。在这种情况下,分配运算符必须为:= and not = 因为后者被视为比较操作员=在非设定中 语句
" ="是模棱两可的,可能是一个比较操作员。":="总是被解释为任务运算符。可以在http://dev.mysql.com/doc/refman/5.7/en/assignment-operators.html。