PostgreSQL では、構造体のフィールドが複雑であるか、JSON が含まれている場合、構造体をデータベースに直接挿入するのは簡単ではありません。配列。ただし、外部ライブラリを利用することで、より効率的な方法で挿入機能を実現できます。
sqlx ライブラリ (github.com/jmoiron/sqlx) は、洗練されたソリューションを提供します。この問題に。これを使用するには、まず各構造体フィールドに db タグを付けて、データベース フィールド名を指定します。
<code class="go">type ApplyLeave1 struct { LeaveId int `db:"leaveid"` EmpId string `db:"empid"` SupervisorEmpId string `db:"supervisorid"` // ... other fields }</code>
次に、sqlx の NamedExec 関数を使用して、構造体全体をデータベースに挿入します。
<code class="go">import ( "github.com/jmoiron/sqlx" "log" ) query := `INSERT INTO TABLENAME(leaveid, empid, supervisorid, ...) VALUES(:leaveid, :empid, :supervisorid, ...)` var leave1 ApplyLeave1 db, err := sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable") if err != nil { log.Fatalln(err) } _, err = db.NamedExec(query, leave1) if err != nil { log.Fatalln(err) }</code>
JSON 配列の挿入
構造体で JSON 配列を処理するには、フィールドに db:"array".
<code class="go">type CertificateInfo struct { Id int64 `db:"id"` FileName string `db:"filename"` FileType string `db:"filetype"` FileLocation string `db:"filelocation"` } type ApplyLeave1 struct { // ... other fields Certificates []CertificateInfo `db:"certificates,array"` }</code>これらの手順に従うことで、JSON 配列を含む複雑な構造体を PostgreSQL データベースにシームレスに挿入できるため、コードが簡素化され、データ挿入効率が向上します。
以上がJSON 配列を含む複雑な構造体を PostgreSQL データベースに直接挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。