第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何向 PostgreSQL 插入 JSON 數(shù)據(jù)

如何向 PostgreSQL 插入 JSON 數(shù)據(jù)

Go
眼眸繁星 2023-05-15 09:51:50
我有像 blow 這樣的 json 字段,我想將其存儲(chǔ)在數(shù)據(jù)庫中{      id:          1      name:        "test entity 1"      description: "a test entity for some guy's blog"      status: "passed"      web_url: "http://localhost:3000"      jobs: [{         id:        "1"         name:      "test1"         status:    "passed"        },        {         id:        "2"         name:      "test2"         status:    "passed"        },        {         id:        "3"         name:      "test3"         status:    "failed"       }]    }我繼續(xù)使用一種方法來創(chuàng)建表用途:CREATE TABLE test3 (id INT PRIMARY KEY, name VARCHAR, description VARCHAR, status VARCHAR, web_url VARCHAR, jobs JSON[]);和插入數(shù)據(jù)使用:sqlStatement := `            INSERT INTO jobs (id, name, description, status, web_url, jobs)            VALUES ($1, $2, $3, $4, $5, $6)            ON CONFLICT (id) DO UPDATE            SET status = $4            RETURNING id`        id := 0        err = database.Db.QueryRow(sqlStatement, y[i].ID, y[i].Name, y[i].Description, y[i].Status, y[i].WebURL, jobsdata).Scan(&id)        if err != nil {            panic(err)        }但不會(huì)工作,需要幫助!獲取錯(cuò)誤:panic: sql: converting argument $6 type: unsupported type handler.Jobs, a slice of struct我想要的是:postgres=# SELECT * FROM test3;id |    name       |             description           | status  |       web_url          |                           jobs                           ------+------------------------------------------+--------+---------+----------------------------------------------------------+---------------------------------------------------------- 1 | test entity 1 | a test entity for some guy's blog | passed | https://localhost:3000 | {id: "1",name: "test1", status: "passed"},{id: "2",name: "test2", status: "passed"},{id: "3",name: "test3", status: "failed"}
查看完整描述

2 回答

?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

如錯(cuò)誤所示,您正在嘗試從不受支持的數(shù)據(jù)類型綁定第六個(gè)值,handler.Jobs。你沒有告訴我們這個(gè)類型是什么,但是從錯(cuò)誤中可以看出它沒有實(shí)現(xiàn)接口driver.Valuer,所以它不會(huì)工作,因?yàn)樗鼰o法知道如何向數(shù)據(jù)庫表示該值。

您需要通過Value()handler.Jobs類型添加方法或使用不同的數(shù)據(jù)類型來實(shí)現(xiàn)該接口。


查看完整回答
反對(duì) 回復(fù) 2023-05-15
?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

sqlx在github.com/jmoiron/sqlx/types中有一個(gè)JSONText類型,它可以滿足您的需要。


查看完整回答
反對(duì) 回復(fù) 2023-05-15
  • 2 回答
  • 0 關(guān)注
  • 169 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)