首页 > 解决方案 > 这段代码是什么意思..[select @a:=password(?)]

问题描述

我以前没见过。这句话背后的含义是什么?

select @a:=password(?)

标签: sql

解决方案


没有任何上下文,很容易通过分解来做出一个很好的猜测:

  • select你应该很熟悉
  • @a可能是一个变量名;许多数据库使用 @ 作为前缀,就像 PHP 和 Perl 等语言使用 $
  • :=是赋值运算符的一种常用拼写方式,用于区分=SQL中的比较
  • password()看起来像一个函数调用;可能它运行一些散列算法,以便密码不以纯文本形式存储
  • ?通常用作占位符,用户的输入应放在参数化查询中(如果您不知道这些,请查找它们,它们是确保 SQL 安全的最佳方式)

因此,该语句可能意味着“对用户提供的数据运行密码函数,并将其分配给变量 @a 以供以后的语句中使用”。


推荐阅读