매개변수 변환 오류: 쿼리에서 지원되지 않는 슬라이스
lib/pq를 사용하여 SQL 쿼리를 실행할 때 매개변수 유형이 다음과 같은지 확인하는 것이 중요합니다. 지원됩니다. 어떤 경우에는 다음 코드에서 오류가 발생했습니다.
somevars := []int{1, 2, 3, 4} rows, err = db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 IN(,,,);", somevars)
"sql: 인수 $1 유형 변환: 지원되지 않는 유형 []int, int 조각"이라는 오류 메시지가 표시되었습니다. 이 오류는 lib/pq가 슬라이스를 인수로 직접 처리할 수 없다는 점을 강조합니다.
해결책: pq.Array 사용
이 문제를 해결하려면 pq.Array를 활용할 수 있습니다. 이 함수는 Go 슬라이스를 Postgres ARRAY로 변환한 다음 쿼리에서 인식합니다.
아래 수정된 코드는 이를 보여줍니다.
somevars := []int{1, 2, 3, 4} rows, err = db.Query("SELECT c1,c2 FROM table"+tid+" WHERE c1 = any();", pq.Array(somevars))
pq.Array를 사용하면 슬라이스는 다음과 같습니다. ARRAY로 변환되어 쿼리에서 유효한 인수로 사용될 수 있습니다. 이를 통해 슬라이스 인수를 사용하여 쿼리를 원활하게 실행할 수 있습니다.
위 내용은 lib/pq SQL 쿼리에서 슬라이스 인수를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!