MySQL의 문서 가되어야한다고 말한다 \'
. 그러나 scite와 mysql은 모두 ''
작동합니다. 나는 그것을 보았습니다. 어떻게해야합니까?
답변
당신이 인용 한 MySQL 문서는 실제로 당신이 언급 한 것보다 조금 더 말합니다. 또한 말합니다
”
'
“로 인용 된 문자열 내부의 ”'
“는 ” “로 쓸 수 있습니다''
.
(또한 MySQL 5.0 버전의 표 8.1. 특수 문자 이스케이프 시퀀스 에 연결했으며 현재 버전은 5.6이지만 현재 표 8.1. 특수 문자 이스케이프 시퀀스 는 매우 유사합니다.)
나는 매개 변수 에backslash_quote (string)
대한 Postgres 메모 가 유익 하다고 생각합니다 .
따옴표를
\'
문자열 리터럴로 표시 할 수 있는지 여부를 제어합니다 . 따옴표를 나타내는 기본 SQL 표준 방법은 따옴표를 두 배로 늘리는 것 (''
)이지만 PostgreSQL은 역사적으로도 받아 들였습니다\'
. 그러나를 사용\'
하면 보안 위험이 발생합니다.
즉, 이중 인용 부호 문자를 사용하는 것이 작은 따옴표를 이스케이프 처리하기 위해 백 슬래시를 사용하는 것보다 전체적이고 장기적으로 더 나은 선택입니다.
이제 언어 선택, SQL 데이터베이스 및 비표준 쿼크 선택 및 쿼리 프레임 워크 선택을 방정식에 추가하려는 경우 다른 선택으로 끝날 수 있습니다. 제약 조건에 대한 많은 정보를 제공하지 않습니다.
답변
표준 SQL은 큰 따옴표를 사용합니다. MySQL은이를 합리적으로 준수해야합니다.
'He said, "Don''t!"'
답변
user2087510의 의미는 다음과 같습니다.
name = 'something'
name = name.replace("'", "\\'")
나는 또한 이것을 성공으로 사용했다.
답변
그냥 ''
대신 '
두 번 쓰세요'
답변
예를 들면 다음과 같습니다.
SELECT * FROM pubs WHERE name LIKE "%John's%"
작은 따옴표를 묶으려면 큰 따옴표를 사용하십시오.
작은 따옴표를 사용한다고 주장하고 문자를 이스케이프 해야하는 경우 :
SELECT * FROM pubs WHERE name LIKE '%John\'s%'
답변
내가 알고있는 세 가지 방법이 있습니다. 첫 번째는 가장 아름답 지 않고 두 번째는 대부분의 프로그래밍 언어에서 일반적인 방법입니다.
- 다른 작은 따옴표를 사용하십시오.
'I mustn''t sin!'
\
작은 따옴표 앞에 이스케이프 문자 를 사용하십시오'
.'I mustn\'t sin!'
- 작은 따옴표 대신 큰 따옴표를 사용하여 문자열을 묶습니다.
"I mustn't sin!"
답변
문자열을 교체
value = value.replace(/'/g, "\\'");
여기서 value는 데이터베이스에 저장할 문자열입니다.
더욱이,
이것에 대한 NPM 패키지, 당신은 그것을 볼 수 있습니다