【发布时间】:2009-05-15 09:18:56
【问题描述】:
假设有一个存储过程 SetCustomerName,它有一个输入参数 Name,我有一个带有列 Name 的表 customers。所以在我的存储过程中,我想设置客户的名字。如果我写
UPDATE customers SET Name = Name;
这是不正确的,我必须写(例如)
UPDATE customers SET `Name` = Name;
因此,有一个关于反引号 (http://dev.mysql.com/doc/refman/5.0/en/identifiers.html) 的链接,但没有足够深入地解释如何使用它们(如何将它们与参数和列名一起使用)。
还有一件很奇怪的事情(至少对我来说):你可以用任何一种方式使用反引号:
UPDATE customers SET Name = `Name`;
//or
UPDATE customers SET `Name` = Name;
//or even
UPDATE customers SET `Name` = `Name`;
它们的工作方式完全相同。
你不觉得这很奇怪吗?这种奇怪的行为是否在某处解释过?
【问题讨论】:
标签: mysql stored-procedures parameters backticks