MySQL编码问题

问题描述:

我将如何检查数字为零0在MySQL中,例如用户等于零0MySQL编码问题

哪一个如果有的话是正确的?

AND user = 0 
AND user = '0' 
AND user = '" . 0 . "' 
+0

第一种选择将是方式。 – mhitza 2010-10-11 05:39:51

+0

@mhitza其他例子有什么问题? – HELP 2010-10-11 05:40:44

+1

相关:[SQL中是否总是等于'1'?](http://*.com/questions/2134102/does-1-always-equal-1-in-sql) – 2010-10-11 05:41:02

这一切都取决于列的格式。如果以int存储,则使用user=0将是正确的。

如果该列存储为char,则user='0'将是正确的。

最基本的区别是,一个字符可以容纳字母/数字等。而一个int将只保存数字 - 而且一个int 0和一个char'0'是不一样的。

user = 0是要走的路,如果你有一个基于整数的列。其他版本也起作用。但是,其他人可能需要从字符串转换为整数,这是额外的开销。