为什么一个人需要其他报价并不是

时间:2014-11-30 19:13:00

标签: mysql

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

$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不需要?

2 个答案:

答案 0 :(得分:2)

在这种情况下,“mod”很可能是指模数运算符(除法时的余数)。所以mod是为运算符MOD()保留的,但是`mod`不会将它解释为运算符的使用。即使`mod`有效,我也建议你选择另一个与保留关键字不冲突的名字。

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

答案 1 :(得分:0)

“变量”mod不需要反引号。 功能名称 MOD可以。与所有其他函数名称,关键字等一样。