这两个命令有MySQL
什么区别?
它们完美地工作,结果总是一样的:
set @numRecords = (select count(*) from config);
set @numRecords := (select count(*) from config);
谢谢大卫
这两个命令有MySQL
什么区别?
它们完美地工作,结果总是一样的:
set @numRecords = (select count(*) from config);
set @numRecords := (select count(*) from config);
谢谢大卫
引用 MySQL 5.7 参考手册,第 10.4 节用户定义的变量:
对于 SET,= 或 := 都可以用作赋值运算符。
您还可以在 SET 以外的语句中为用户变量赋值。在这种情况下,赋值运算符必须是 := 而不是 =,因为后者在非 SET 语句中被视为比较运算符 =
"=" 不明确,可能是比较运算符。":=" 总是被解释为赋值运算符。此信息可在http://dev.mysql.com/doc/refman/5.7/en/assignment-operators.html找到。