首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TIMESCALEDB模式问题

TIMESCALEDB模式问题
EN

Stack Overflow用户
提问于 2021-05-24 10:34:09
回答 1查看 47关注 0票数 0

我正在尝试在timescale db中创建列,以匹配GoLANG中的类型结构。下面是我的类型结构和我的表/超级表的代码。有人知道我做错了什么吗?

代码语言:javascript
复制
    type Trade struct {
    A int16     `json:"a"`
    B int16     `json:"b"`
    Ev string   `json:"ev"`
    P int16    `json:"p"`
    Sym string  `json:"sym"`
    S int16     `json:"s"`  
    T int64     `json:"t"`
}




creatX  := `CREATE EXTENSION IF NOT EXISTS timescaledb;`
creatT  := `CREATE TABLE IF NOT EXISTS trade (id SERIAL PRIMARY KEY, a INT, b INT, ev TEXT, sym TEXT, s INT, t INT, p DECIMAL);`


//Table schema 
tradeHypertable := `CREATE TABLE trade_data (
    time TIMESTAMPTZ NOT NULL,
    a INT NOT NULL,
    b INT NOT NULL, 
    ev TEXT NOT NULL, 
    sym TEXT NOT NULL, 
    s INT NOT NULL, 
    t INT NOT NULL, 
    p DECIMAL NOT NULL
    );
    SELECT create_hypertable('trade_data', 'time', 
    a INT,
    b INT, 
    ev TEXT, 
    sym TEXT, 
    s INT, 
    t INT, 
    p DECIMAL if_not_exists => TRUE);
    `

我收到以下错误: Unable to insert sample into Timescale ERROR:

代码语言:javascript
复制
syntax error at or near "INT" (SQLSTATE 42601)
exit status 1

这里可能有很多问题,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2021-05-24 22:57:19

代码语言:javascript
复制
tradeHypertable := `CREATE TABLE IF NOT EXISTS trade_data (
    time TIMESTAMPTZ NOT NULL,
    a INT, 
    b INT, 
    ev TEXT, 
    sym TEXT, 
    s INT,
    t BIGINT, 
    p DECIMAL);
    SELECT create_hypertable('trade_data', 'time'); 
    `

trdInsert := `INSERT INTO trade_data (time,  a, b, ev, sym, s, t, p) VALUES  ($1, $2, $3, $4, $5, $6, $7, $8)`

trdInsert是正确的语法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67666039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档