괴발개발 성장기

Study/Go 언어

[error] sql: expected 2 destination arguments in Scan, not 1 에러메시지 해결책

지니유 2022. 8. 4. 14:52
반응형

# 배경

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 하나를 받던지 해야한다.

반응형