Update
Bob を使用した PostgreSQL の UPDATE クエリの例を示します。
基本的な UPDATE
UPDATE users SET name = $1, updated_at = $2 WHERE id = $3psql.Update("users").
Set("name", psql.Arg("Updated Name")).
Set("updated_at", psql.Arg(time.Now())).
Where(psql.Quote("id").EQ(psql.Arg(1)))複数条件での UPDATE
UPDATE users SET active = $1
WHERE created_at < $2 AND last_login IS NULLpsql.Update("users").
Set("active", psql.Arg(false)).
Where(
psql.Quote("created_at").LT(psql.Arg(time.Now().AddDate(0, -6, 0))),
psql.Quote("last_login").IsNull(),
)JOIN を使用した UPDATE
UPDATE users SET status = $1
FROM user_profiles
WHERE users.id = user_profiles.user_id
AND user_profiles.verified = $2psql.Update("users").
Set("status", psql.Arg("verified")).
From("user_profiles").
Where(
psql.Quote("users", "id").EQ(psql.Quote("user_profiles", "user_id")),
psql.Quote("user_profiles", "verified").EQ(psql.Arg(true)),
)RETURNING 句付きの UPDATE
UPDATE users SET name = $1, updated_at = $2
WHERE id = $3
RETURNING id, name, updated_atpsql.Update("users").
Set("name", psql.Arg("Updated Name")).
Set("updated_at", psql.Arg(time.Now())).
Where(psql.Quote("id").EQ(psql.Arg(1))).
Returning("id", "name", "updated_at")これらの例は、Bob を使用して PostgreSQL で実行可能な様々な UPDATE クエリパターンを示しています。