P粉6198961452023-09-03 10:06:17
먼저 대신 이름이 지정된 매개변수<代码>를 사용해 보세요. 代码>. 이 경우 아무것도 바꿀 필요가 없습니다. 명명된 매개변수는 명확하고 로그에 표시하기 매우 쉬우며 디버깅 목적으로 대부분의 dbms 클라이언트에서 지원됩니다.
이름이 지정된 매개변수를 사용할 수 없는 경우(현재 코드베이스가 크거나 다른 이유로 인해) 두 가지 주요 접근 방식이 있습니다.
후자의 방법을 선택하는 경우 빠르고 깔끔하게 수행하는 방법의 예는 다음과 같습니다.
여러 단계로 교체:
?
替换为其他极不可能出现在参数或查询中的内容来准备参数。例如?
. ?
,但不会匹配第一步中的替换。如果用 ?
替换,则为 (?
?
替换为 ?
를 모두 포함합니다. 참고: 이 대체 결과는 절대 프로그램의 쿼리로 사용되어서는 안 됩니다. 이 대체품은 다음 중 일부 또는 전부를 구현할 가능성이 있습니다.
?
가 매개변수로 포함된 경우(예: 주석) 결과가 정확하지 않습니다. ?
)이 포함되어 있으면 결과가 정확하지 않습니다. 출력:
으아악편집: 상수 문자열과 인용된 이름 내 물음표의 영향을 줄이려면 다음 대체 방법을 사용해 보세요.
으아악"`'
로 인용된 블록 외부의 "`'
引用的块之外的 ?
만 대체합니다.
데모를 여기에서 볼 수 있습니다.
이것은 완전한 기능을 갖춘 파서가 아니라는 점을 명심하세요. 예를 들어 댓글에 대해서는 알지 못합니다. 따라서 잘못된 대체 가능성이 여전히 높습니다.