집 >데이터 베이스 >MySQL 튜토리얼 >내 SQL 쿼리가 ''Mary' 열이 존재하지 않습니다'를 반환하는 이유는 무엇입니까?
"열 'Mary'가 존재하지 않습니다.": 인용 난제 이해
다음 SQL 쿼리를 실행할 때 오류가 발생할 수 있습니다. 'Mary' 열이 존재하지 않음을 나타냅니다.
SELECT telephone.telephonenumber AS tel FROM person, telephone WHERE person.idperson = telephone.idperson AND person.personname = ‘Mary’;
혼란스럽게도 당신은 그렇지 않습니다. 'Mary'를 열 이름으로 참조하는 것이 아니라 비교할 값으로 참조합니다. 이 오류의 원인은 문자열 리터럴을 구분하기 위해 일반 작은따옴표('Mary') 대신 둥근 따옴표('Mary')를 사용했기 때문입니다.
SQL에서는 둥근 따옴표가 자주 사용됩니다. 식별자가 예약어와 충돌할 수 있는 경우 모호성을 방지하기 위해 열 이름이나 테이블 이름을 묶는 데 사용됩니다. 그러나 사람 이름과 비교하려는 값과 같은 문자열 리터럴의 경우 일반 작은따옴표를 사용하는 것이 중요합니다.
스마트 따옴표를 일반 작은따옴표로 바꾸면 쿼리가 성공적으로 실행됩니다. , 이름이 'Mary'인 사람의 올바른 전화번호를 반환합니다. 수정된 쿼리는 다음과 같습니다.
SELECT telephone.telephonenumber AS tel FROM person, telephone WHERE person.idperson = telephone.idperson AND person.personname = 'Mary';
오류를 방지하고 쿼리가 의도한 대로 작동하도록 하려면 SQL의 문자열 리터럴에 일반 작은따옴표를 사용하는 것이 중요합니다.
위 내용은 내 SQL 쿼리가 ''Mary' 열이 존재하지 않습니다'를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!