Go의 동등한 SQL 쿼리 연결
Python에서 SQL 쿼리의 문자열과 값의 연결은 % 연산자를 사용하여 간단합니다. 그러나 Go에서는 이 방법이 예상대로 작동하지 않을 수 있습니다.
이 문제를 해결하기 위해 Go 프로그래머는 fmt.Sprintf 함수를 활용할 수 있습니다. 다음 코드 샘플은 문자열과 값을 연결하는 올바른 방법을 보여줍니다.
<code class="go">query := fmt.Sprintf(`SELECT columnA FROM tableA WHERE columnB = %d AND columnB = %s`, SomeNumber, SomeString)</code>
이 방법을 사용하면 값의 형식이 올바르게 지정되고 처리됩니다. 또한 사용자가 제공한 데이터를 쿼리에 포함할 때 주입 공격의 잠재적인 취약성에 주목하는 것이 중요합니다. 이러한 위험을 완화하려면 다음 접근 방식을 사용하는 것이 좋습니다.
<code class="go">query := `SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d` rows, err := db.Query(query, Val1, Val2)</code>
쿼리와 값에 별도의 인수를 사용하면 악의적인 입력이 쿼리의 구조나 의도를 변경하는 것을 방지할 수 있습니다.
위 내용은 Go에서 SQL 쿼리의 문자열과 값을 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!