在MySQL
这两个命令有什么区别?
他们完美地工作,结果总是一样的:
set @numRecords = (select count(*) from config);
set @numRecords := (select count(*) from config);
由于 的Davide
答案 0 :(得分:4)
引用MySQL 5.7参考手册,section 10.4 User-Defined Variables:
对于SET,可以使用=或:=作为赋值运算符。
您还可以在其他语句中为用户变量赋值 比SET。在这种情况下,赋值运算符必须是:=而不是= 因为后者在非SET中被视为比较运算符= 语句
答案 1 :(得分:2)
" ="是模棱两可的,可能是一个比较运算符。 ":="始终被解释为赋值运算符。此信息可在http://dev.mysql.com/doc/refman/5.7/en/assignment-operators.html找到。