MySQL: NULL 값이 있는 행 선택
특정 열에 NULL 값이 포함된 행을 검색하려고 시도하는 동안 사용자에게 빈 오류가 발생합니다. 결과 집합. 이러한 불일치는 phpMyAdmin에서 볼 때 NULL 값을 표시하는 테이블에도 불구하고 발생합니다.
문제의 쿼리는 다음과 유사합니다.
SELECT pid FROM planets WHERE userid = NULL
"NULL" 또는 " null" 문자열을 검색하고 빈 공간을 검색해도 사용자는 원하는 행을 검색할 수 없습니다. MyISAM 스토리지 엔진이 원인일 수 있다고 의심하는 사용자는 테이블을 InnoDB로 변환합니다. 그러나 문제는 지속됩니다.
문제 해결
해결책은 SQL NULL 값의 특수성을 이해하는 데 있습니다. 기존 값과 달리 NULL은 등호(=)를 사용하여 동일시할 수 없습니다. NULL 값이 있는 행을 올바르게 검색하려면 다음 구문을 사용해야 합니다.
WHERE field IS NULL
이러한 구별은 NULL이 알 수 없거나 정의되지 않은 값을 나타내므로 실제로 다음과 같은지 확인할 수 없다는 사실에서 비롯됩니다. 그 자체를 포함해 무엇이든. 이 원칙은 Codd의 규칙 3에 명시되어 있습니다.
쿼리를 다음과 같이 조정하면
SELECT pid FROM planets WHERE userid IS NULL
이제 사용자는 NULL 값이 있는 행을 성공적으로 검색할 수 있습니다.
위 내용은 MySQL에서 NULL 값이 있는 행을 올바르게 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!