假设有一个存储过程SetCustomerName,它有一个输入参数Name,我有一个表名为customer的表客户.
所以在我的存储过程中,我想设置客户的名字.如果我写
UPDATE customers SET Name = Name;
这是不正确的,我还看到了另外两种方式:
UPDATE customers SET Name = `Name`;
UPDATE customers SET customers.Name = Name;
第一个工作,但我没有在文档中找到我可以在`字符中包装参数.或者我在文档中错过了它(在这种情况下链接很受欢迎).
还有什么其他方式,这种情况的标准方式是什么?重命名输入参数对我不利(因为如果你知道我的意思,我有自动对象关系映射).
更新:
并且有一个非常奇怪的事情(至少对我来说):你可以使用反引号:
UPDATE customers SET Name = `Name`;
//or
UPDATE customers SET `Name` = Name;
//or even
UPDATE customers SET `Name` = `Name`;
而且他们都以同样的方式工作.
你觉得这不奇怪吗?这个奇怪的行为是在某处解释的吗?