go备份
func updateKline2(kline binance.WsKline) {
var updateSql strings.Builder
updateSql.WriteString("UPDATE kline_")
updateSql.WriteString(kline.Interval)
updateSql.WriteString(" SET firstTradeId = ")
updateSql.WriteString(strconv.FormatInt(kline.FirstTradeID, 10))
updateSql.WriteString(",lastTradeId = ")
updateSql.WriteString(strconv.FormatInt(kline.LastTradeID, 10))
updateSql.WriteString(",open = ")
updateSql.WriteString(kline.Open)
updateSql.WriteString(",close = ")
updateSql.WriteString(kline.Close)
updateSql.WriteString(",high = ")
updateSql.WriteString(kline.High)
updateSql.WriteString(",low = ")
updateSql.WriteString(kline.Low)
updateSql.WriteString(",volume = ")
updateSql.WriteString(kline.Volume)
updateSql.WriteString(",trades = ")
updateSql.WriteString(strconv.FormatInt(kline.TradeNum, 10))
updateSql.WriteString(",final = ")
updateSql.WriteString(strconv.FormatBool(kline.IsFinal))
updateSql.WriteString(",quoteVolume = ")
updateSql.WriteString(kline.QuoteVolume)
updateSql.WriteString(",volumeActive = ")
updateSql.WriteString(kline.ActiveBuyVolume)
updateSql.WriteString(",quoteVolumeActive = ")
updateSql.WriteString(kline.ActiveBuyQuoteVolume)
updateSql.WriteString(" WHERE startTime = ")
updateSql.WriteString(strconv.FormatInt(kline.StartTime, 10))
updateSql.WriteString(" AND endTime = ")
updateSql.WriteString(strconv.FormatInt(kline.EndTime, 10))
updateSql.WriteString(" LIMIT 1")
fmt.Println("更新 sql:", updateSql.String())
}
func insertKline2(kline binance.WsKline) {
var insertSql strings.Builder
insertSql.WriteString("INSERT INTO kline_")
insertSql.WriteString(kline.Interval)
insertSql.WriteString(" SET symbol = '")
insertSql.WriteString(kline.Symbol)
insertSql.WriteString("',intervalTime = '")
insertSql.WriteString(kline.Interval)
insertSql.WriteString("',startTime = ")
insertSql.WriteString(strconv.FormatInt(kline.StartTime, 10))
insertSql.WriteString(",endTime = ")
insertSql.WriteString(strconv.FormatInt(kline.EndTime, 10))
insertSql.WriteString(",firstTradeId = ")
insertSql.WriteString(strconv.FormatInt(kline.FirstTradeID, 10))
insertSql.WriteString(",lastTradeId = ")
insertSql.WriteString(strconv.FormatInt(kline.LastTradeID, 10))
insertSql.WriteString(",open = ")
insertSql.WriteString(kline.Open)
insertSql.WriteString(",close = ")
insertSql.WriteString(kline.Close)
insertSql.WriteString(",high = ")
insertSql.WriteString(kline.High)
insertSql.WriteString(",low = ")
insertSql.WriteString(kline.Low)
insertSql.WriteString(",volume = ")
insertSql.WriteString(kline.Volume)
insertSql.WriteString(",trades = ")
insertSql.WriteString(strconv.FormatInt(kline.TradeNum, 10))
insertSql.WriteString(",final = ")
insertSql.WriteString(strconv.FormatBool(kline.IsFinal))
insertSql.WriteString(",quoteVolume = ")
insertSql.WriteString(kline.QuoteVolume)
insertSql.WriteString(",volumeActive = ")
insertSql.WriteString(kline.ActiveBuyVolume)
insertSql.WriteString(",quoteVolumeActive = ")
insertSql.WriteString(kline.ActiveBuyQuoteVolume)
fmt.Println("插入 sql:", insertSql.String())
rows, error := DataS.Query(insertSql.String())
if error != nil {
fmt.Println("错误:", error)
}
fmt.Println("rows", rows)
}
var querySql strings.Builder
querySql.WriteString("SELECT startTime,endTime FROM kline_")
querySql.WriteString(kline.Interval)
querySql.WriteString(" WHERE startTime = ")
querySql.WriteString(strconv.FormatInt(startTime, 10))
querySql.WriteString(" AND endTime = ")
querySql.WriteString(strconv.FormatInt(endTime, 10))
querySql.WriteString(" LIMIT 1")
fmt.Println("sql:", querySql.String())
rows, error := DataS.Query(querySql.String())
check(error)
count := 0
var start, end int64
rows.Scan(&start, &end)
for rows.Next() {
count += 1
rows.Columns()
rows.Scan(&start, &end)
}
func queryTest() {
rows, error := DataS.Query("select symbol, `interval` from kline_15m where trades = 11289")
if error != nil {
fmt.Println("错误:", error)
}
var symbol, intervalTime string
rows.Scan(&symbol, &intervalTime)
fmt.Println(symbol, "--")
for rows.Next() {
rows.Columns()
rows.Scan(&symbol, &intervalTime)
fmt.Println(symbol, "--")
fmt.Println(intervalTime, "--")
}
}