package main import ( "database/sql" "fmt" _ "github.com/taosdata/driver-go/v3/taosSql" "log" "math/rand" "time" ) var DateFmtYYYYMMDDHHmmss = "2006-01-02 15:04:05" func main() { var taosDSN = "root:taosdata@tcp(127.0.0.1:6030)/test1" taos, err := sql.Open("taosSql", taosDSN) if err != nil { log.Fatalln("failed to connect TDengine, err:", err) return } defer taos.Close() // 测试插入数据 now := time.Now().Add(-11 * time.Hour) type CUP struct { c string u int p int } cupList := []CUP{ {c: "wenchangchain-native", u: 1, p: 11}, //{c: "wenchangchain-irita-opb", u: 1, p: 21}, //{c: "wenchangchain-ddc", u: 1, p: 31}, // //{c: "wenchangchain-native", u: 2, p: 12}, //{c: "wenchangchain-irita-opb", u: 2, p: 22}, //{c: "wenchangchain-ddc", u: 2, p: 32}, // //{c: "wenchangchain-native", u: 3, p: 13}, //{c: "wenchangchain-irita-opb", u: 3, p: 23}, // //{c: "wenchangchain-irita-opb", u: 4, p: 24}, //{c: "wenchangchain-ddc", u: 4, p: 34}, // //{c: "wenchangchain-native", u: 5, p: 15}, //{c: "wenchangchain-ddc", u: 5, p: 35}, } fmt.Println("开始 ", time.Now().Format(DateFmtYYYYMMDDHHmmss)) for p := 0; p < len(cupList); p++ { d := "" for i := 3; i > 1; i-- { num := rand.Intn(24) day := now.AddDate(0, 0, -i).Add(time.Duration(num) * time.Hour) for j := 0; j < 5; j++ { //a := rand.Intn(9) + 1 //fmt.Println(day.Add(time.Duration(j*22)*time.Minute).Format(DateFmtYYYYMMDDHHmmss), a) d = fmt.Sprintf("%s (%d,%d)", d, day.Add(time.Duration(j*4)*time.Hour).UnixMilli(), 1) } } d = fmt.Sprintf("insert into p%d USING account_meters TAGS (\"%s\", %d, %d) values%s", cupList[p].p, cupList[p].c, cupList[p].u, cupList[p].p, d) fmt.Println(d) _, err = taos.Exec(d) if err != nil { fmt.Println("failed to insert, err:", err) fmt.Println("failed to insert, cup:", cupList[p]) return } fmt.Println("完成 ", time.Now().Format(DateFmtYYYYMMDDHHmmss)) } }