ホームページ > バックエンド開発 > Golang > SQLx を使用して構造体を PostgreSQL データベースに直接挿入するにはどうすればよいですか?

SQLx を使用して構造体を PostgreSQL データベースに直接挿入するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-31 00:40:29
オリジナル
712 人が閲覧しました

How Can I Directly Insert a Struct into a PostgreSQL Database Using SQLx?

PostgreSQL データベースへの構造体の直接挿入

はじめに

シナリオでは、ここで構造体には多数のフィールドがあるため、データを 1 つずつ手動で挿入するのは面倒な場合があります。この記事では、「sqlx」ライブラリを使用して構造体全体を PostgreSQL データベースに直接挿入する方法について説明します。

SQLx を使用して構造体を挿入する

「sqlx」ライブラリデータベースと対話するための便利な方法を提供します。 「NamedExec」関数をサポートしているため、簡単に構造体を引数として渡してデータを挿入できます。

データベース タグの定義

「NamedExec」を使用するには、構造体の各フィールドに「db」タグを定義する必要があります。これらのタグは、データベース テーブル内の対応する列名を指定します。

例:

<code class="go">type ApplyLeave1 struct {
    LeaveId           int       `db:"leaveid"`
    EmpId             string    `db:"empid"`
    SupervisorEmpId   string    `db:"supervisorid"`
}</code>
ログイン後にコピー

構造体の挿入

タグを定義したら、「NamedExec」を使用してデータを挿入できます。

<code class="go">db, err := sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable")
if err != nil {
    log.Fatalln(err)
}

query := `INSERT INTO TABLENAME(leaveid, empid, supervisorid) 
          VALUES(:leaveid, :empid, :supervisorid)`

var leave1 ApplyLeave1
_, err = db.NamedExec(query, leave1)
if err != nil {
    log.Fatalln(err)
}</code>
ログイン後にコピー

「NamedExec」を使用すると、構造体全体を一度にデータベースに簡単に挿入できるため、手動による挿入の繰り返し。

以上がSQLx を使用して構造体を PostgreSQL データベースに直接挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート