고언어에서 SQL 질의는 아래와 같은 코드가 됩니다.
import (
"database/sql"
_ "github.com/go-sql-driver/mysql" // For connect External MySQL Server
_ "github.com/jinzhu/gorm/dialects/mysql"
)
// ... (중략)...
q1, _ := fromDB.Query("SELECT * FROM `테이블명`")
cols, _ := q1.Columns()
for q1.Next() {
columnPointers := CreateRecord(len(cols))
// Scan the result into the column pointers...
if err := q1.Scan(columnPointers...); err != nil {
panic(err)
}
// ...(중략)...
}
여기서 아래와 같은 오류가 나는 경우
sql: Rows are closed
이는 이미 Close() 되었거나 Next() 로 모든 레코드를 다 읽어버린 후에 다시 Next() 로 레코드를 또 가져오는 경우 비어 있으므로 이미 사용이 끝난 쿼리 객체를 사용하려고 한다는 의미가 됩니다.
코드를 잘보고 잘못된 쿼리객체를 사용하고 있는지 확인해보는 것이 좋습니다.
패키지 : database/sql, github.com/go-sql-driver/mysql
답글 남기기
댓글을 달기 위해서는 로그인해야합니다.