고언어에서 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
답글 남기기
댓글을 달기 위해서는 로그인해야합니다.