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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 00:40:29621ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。