不附加任何变量名时,`@` 是什么意思?

What does `@` mean when not appending any variable name?

在使用 MariaDB 时,我无意中发现可以使用 @ 而无需提供变量名。我执行了以下语句:

SELECT @ INTO @;

由于省略了变量名,我本以为会出现语法错误,但它执行得很好。现在我想知道发生了什么。

在这种情况下,MariaDB 如何解释 @ 符号?这个 SELECT 实际上是做什么的?还是完全忽略不做任何进一步的操作?

虽然MySQL nor MariaDB文档都没有特别提到它,显然用户定义的变量是允许有一个空名称的。 @@'' 相同,它的处理方式与任何其他变量一样。

所以

SELECT @ INTO @;

就像

SELECT @myvar INTO @myvar;

这是一个无用的语句,因为它只是给自己赋值一个变量,相当于

SET @ = @;