> 데이터 베이스 > MySQL 튜토리얼 > SQL INSERT 및 SELECT 문에서 아포스트로피를 어떻게 처리합니까?

SQL INSERT 및 SELECT 문에서 아포스트로피를 어떻게 처리합니까?

Patricia Arquette
풀어 주다: 2025-01-16 11:11:58
원래의
340명이 탐색했습니다.

How Do I Handle Apostrophes in SQL INSERT and SELECT Statements?

SQL 문에 아포스트로피가 포함된 값 삽입

아포스트로피가 포함된 값을 SQL 쿼리에 직접 삽입하면 오류가 발생할 수 있습니다. 아포스트로피는 SQL에서 문자열의 시작과 끝을 나타내기 때문입니다. 이 문제를 해결하려면 아포스트로피를 이스케이프해야 합니다.

예를 들어 Person 테이블의 마지막 필드에 아포스트로피가 나타납니다.

<code class="language-sql">Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'</code>
로그인 후 복사

이 구문은 문자 O 다음에 오는 아포스트로피가 문자열 값의 끝으로 해석되므로 오류가 발생합니다. 이 문제를 해결하려면 아포스트로피를 두 번 사용하여 이스케이프 처리하세요.

<code class="language-sql">INSERT INTO Person
    (First, Last)
VALUES
    ('Joe', 'O''Brien')</code>
로그인 후 복사

SELECT 쿼리에도 동일한 원칙이 적용됩니다.

<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>
로그인 후 복사

아포스트로피를 사용하여 문자열을 구분하기 때문입니다. 문자열에서 실제 아포스트로피를 사용하려면 SQL이 문자열 끝으로 착각하는 것을 방지하기 위해 이스케이프해야 합니다.

그러나 일반적으로 개발자는 코드를 작성할 때 이러한 문제가 발생하지 않는다는 점에 주목할 필요가 있습니다. 프레임워크와 도구는 특수 문자를 이스케이프 처리하고 SQL 주입 취약점을 방지하는 경우가 많습니다.

위 내용은 SQL INSERT 및 SELECT 문에서 아포스트로피를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿