본문 바로가기

PROGRAMING/GO

go multiline 문자열 여러줄 문자열 sql 쓸때.

엄청 삽질했다.
인터넷에서 보고 싱글 따움표!! 하나에 문자열 쓰고 싱글따움표 닫음이라고 생각했다.
계속에러나서 인터넷에 엄청 뒤졌다.

그러다 결국 알아낸것은 여러줄 문자열이.....엔터 옆에 싱글 따옴표가 아니라
숫자1 옆에 어퍼스트로피 였다.
개 삽질했다.

r.POST("/realtime_contract_data", func(c *gin.Context) {
		var connectionString string = fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=disable", HOST, DB_USER, DB_PASSWORD, DB_DATABASE)
		// Initialize connection object.
		log.Println("AAA")
		//db, err := sql.Open("postgres", connectionString)
		db, err := sqlx.Connect("postgres", connectionString)
		log.Println("BB")
		checkError(err)
		err = db.Ping()
		log.Println(err)
		log.Println("CC")
		sql_statement := `select stock_dt 
		,stock_cd 
		,curr_amt 
		,5 mm 
		,curr_time 
		,start_amt 
		,high_amt 
		,low_amt 
		,0 offered_trade_qty 
		,0 bid_trade_qty 
		,5 divide 
		,0 cnt 
		from tb_realtime_contract 
		where 1=1 
		order by mm asc limit 10`
		//Go through rows
		rows, err := db.Queryx(sql_statement)
		mm := []map[string]interface{}{}
		for rows.Next() {
			m := map[string]interface{}{}
			err := rows.MapScan(m)
			mm = append(mm, m)
			if err != nil {
				log.Fatal(err)
			}
		}
		//fmt.Printf("Marshalled data: %s\n", mm)
		c.JSON(200, mm)
	})

'PROGRAMING > GO' 카테고리의 다른 글

go gin-gonic 라우터 빼고 파일 나누고!!  (0) 2020.04.07
go string builder  (0) 2020.04.05