Insert
Bob を使用した PostgreSQL の INSERT クエリの例を示します。
基本的な INSERT
INSERT INTO users (name, email) VALUES ($1, $2)
psql.Insert("users").
Columns("name", "email").
Values(psql.Arg("John Doe"), psql.Arg("john@example.com"))
複数行の INSERT
INSERT INTO users (name, email) VALUES
($1, $2),
($3, $4)
psql.Insert("users").
Columns("name", "email").
Values(psql.Arg("John Doe"), psql.Arg("john@example.com")).
Values(psql.Arg("Jane Smith"), psql.Arg("jane@example.com"))
RETURNING 句付きの INSERT
INSERT INTO users (name, email) VALUES ($1, $2) RETURNING id, created_at
psql.Insert("users").
Columns("name", "email").
Values(psql.Arg("John Doe"), psql.Arg("john@example.com")).
Returning("id", "created_at")
ON CONFLICT による UPSERT
INSERT INTO users (name, email) VALUES ($1, $2)
ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name
psql.Insert("users").
Columns("name", "email").
Values(psql.Arg("John Doe"), psql.Arg("john@example.com")).
OnConflict("email").
DoUpdate().
Set("name", psql.Raw("EXCLUDED.name"))
これらの例は、Bob を使用して PostgreSQL で実行可能な様々な INSERT クエリパターンを示しています。