반응형
# 배경
XORM에 Get
를 사용하는 과정에서 문제가 생겼다.
SQL문을 체크 하는데도 데이터를 1개가 나왔다. 그런데 계속 에러메시지가 떴다.
# 문제
sql: expected 2 destination arguments in Scan, not 1
# 코드
context.DB(c).Table(t.TableName()).Select("tag_id, updated").Where("del = 1").
And("tag_id= ?", tagID).
Get(&tagID)
# 원인
데이터 개수가 아니라 컬럼 수가 안맞아서 그런 것이다. 나는 select를 할 때 컬럼 2개를 찾는데 Get으로 받아오는건 id 하나 받는다고 해서 그랬다.
# 해결책
1) Get(&tagID)
가 아니라 받을 컬럼을 구조체로 만들어서 컬럼을 받아야한다.
2) Select("tag_id")
처럼 select할때 id 하나를 받던지 해야한다.
반응형
'Study > Go 언어' 카테고리의 다른 글
[golang] 채널(channel) 기본 문법 (0) | 2022.10.05 |
---|---|
[Golang] XORM에서 this is incompatible with DISTINCT 에러 메시지 발생 (0) | 2022.09.23 |
[golang] jwt 토큰 생성 방법 (0) | 2022.07.08 |
[golang] validator 패키지 사용방법 (0) | 2022.06.13 |
[golang] go에서 DB연결하는 방법 (0) | 2022.05.10 |