SELECT COLUMN和COUNT,mysql的区分大小写?

时间:2009-12-02 03:43:10

标签: mysql select count case-sensitive

好的,我在这里比较混乱。在我的数据库中,我有5行此数据=> “string@domail.com”(全部小写),这是我的代码,查询1(我使用的是php和mysql):

$str = 'STRING@DOMAIN.COM';

$sel = mysql_query("SELECT COUNT(*) 
                    FROM table 
                    WHERE `column` = '{$str}'");
$num = mysql_num_rows($sel);

echo $num;

结果是1.但是如果我改为Query2

SELECT column 
FROM table 
WHERE `column` = '{$str}'"

它返回5.

另一个问题是,如果我想在查询速度方面找出数据库,查询1或2中存在的行数,我应该使用哪个查询?

1 个答案:

答案 0 :(得分:1)

$num = mysql_num_rows($sel);

这将返回从查询中选择的行数。对于查询一,因为从表中选择COUNT(*),它会返回一行,其中包含一个单元格:此单元格的值为5.第二个查询选择具有$str值的所有条目,所以mysql_num_rows($sel);确实会返回5。

至于另一个问题,首先查询是否更有效,但如果您要查找值为$str的行数,请不要使用mysql_num_rows(),而是使用mysql_fetch_row()。< / p>