sql - "@"符号在 SQL 中起什么作用?

标签 sql

我浏览问题时注意到了这一点:

SELECT prodid, issue
FROM Sales 
WHERE custid = @custid 
AND datesold = SELECT MAX(datesold) 
             FROM Sales s 
             WHERE s.prodid = Sales.prodid
                  AND s.issue = Sales.issue
                  AND s.custid = @custid

我想知道 custID 前面的“@”有什么作用?这只是从所选表中引用 custID 的一种方法吗?

最佳答案

@CustID 意味着它是一个参数,您稍后将在代码中为其提供值。这是防止 SQL 注入(inject)的最佳方法。使用参数创建查询,而不是连接字符串和变量。数据库引擎将参数值放入占位符所在的位置,SQL注入(inject)的可能性为零。

关于sql - "@"符号在 SQL 中起什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361747/

相关文章:

c# - 如何获取表/ View 名称(即删除架构前缀)

sql - 如何生成 SQL 格式的更改日志以创建当前数据库模式?

mysql - 无法使用 AND 条件获取结果

sql - 前两天选择多行?

sql - 如何合并多个 SELECT 结果?

sql - 将int值转换为sql server中的日期时间

mysql - mysql查询的左连接还是联合?

php - 具有多个字段的 MySql Distinct

mysql - 如何计算Mysql中两个日期之间不包括周末(周六和周日)的天数?

mysql - #1054 - 'general' 中的未知列 'where clause'