차이 SELECT 열 및 COUNT의 CASE SENSITIVE MYSQL?
-
11-09-2019 - |
문제
좋아, 나는 여기서 혼란 스럽다. 내 데이터베이스에는이 data => "String@domail.com"(모든 소문자)의 5 행이 있으며, 이것은 내 코드, 쿼리 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에 행이 존재하는 경우 어떤 쿼리를 사용해야합니까?
해결책
$num = mysql_num_rows($sel);
쿼리에서 선택한 행 수를 반환합니다. 쿼리 1의 경우 선택하기 때문에 COUNT(*)
테이블에서 하나의 셀과 함께 하나의 행을 반환합니다.이 셀의 값은 5입니다. 두 번째 쿼리는 값을 가진 모든 항목을 선택합니다. $str
, 그래서 mysql_num_rows($sel);
실제로 반환합니다.
다른 질문은 더 효율적이면 먼저 쿼리하지만 가치가있는 행의 수를 찾고 있다면 $str
, 사용하지 마세요 mysql_num_rows()
하지만 mysql_fetch_row ().
제휴하지 않습니다 StackOverflow