대량 삽입을 위한 Golang 조인 배열 인터페이스
이 맥락에서 GORM을 사용하여 대량 삽입을 생성하려고 하는데 다음과 같은 오류가 발생했습니다. 생성한 SQL 쿼리의 열 수와 값이 일치하지 않습니다. 이 문제를 해결하려면 배열 인터페이스의 형식을 올바르게 지정하여 원하는 문자열 시퀀스를 생성해야 합니다.
해결책은 슬라이스 요소를 Exec() 함수에 전달할 때 ... 확산 연산자를 사용하는 것입니다. 이 연산자는 슬라이스의 압축을 풀고 각 요소를 개별적으로 매개변수로 전달합니다.
문제를 해결하는 수정된 코드 조각은 다음과 같습니다.
tx.Exec(sqlStr, vals...)
이 수정된 버전에서는 vals...가 사용됩니다. val 대신 슬라이스 요소를 개별적으로 전달합니다. 이렇게 하면 원하는 SQL 쿼리가 다음과 같이 생성됩니다.
INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
배열 인터페이스를 올바르게 전달하면 대량 삽입 작업을 성공적으로 실행하고 열 개수 불일치 오류를 방지할 수 있습니다. Exec()에서 반환된 오류를 항상 확인하고 적절하게 처리하는 것을 잊지 마세요.
위 내용은 열 개수 불일치를 피하기 위해 GORM을 사용한 대량 삽입에 Golang의 ... 연산자를 올바르게 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!