为什么一个需要引号另一个不需要



我在更新查询中有 2 个值,两者都是整数。当我尝试时:

$sql = "UPDATE album SET mod=1, sid=$s WHERE id=$a";

它不起作用。当我将其更改为:

$sql = "UPDATE album SET `mod`=1, sid=$s WHERE id=$a";

它有效。

$b = 1;
$sql = "UPDATE album SET mod=$b, sid=$s WHERE id=$a";

也不起作用。

那么为什么变量 mod 需要引号而 sid 不需要呢?

在这种情况下,

"mod"很可能是指模运算符(除法时的余数(。所以 mod 是为运算符 MOD(( 保留的,无论如何,拥有"mod"不会将其解释为运算符的使用。即使"mod"有效,我也建议您选择另一个与保留关键字不冲突的名称。

http://dev.mysql.com/doc/refman/5.0/en/arithmetic-functions.html#operator_modhttp://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_mod

"变量"mod不需要反引号。函数名称MOD。所有其他函数名称、关键字等也是如此。

相关内容

最新更新