Update
Learn how to use the update method in tSQL.
The update
operation allows you to modify existing records in a table. You can update single or multiple columns, use expressions, and filter the rows to update.
Basic Update
db.updateTable("users")
.set({
first_name: "Jennifer",
last_name: "Aniston",
})
.where("id", "=", 1)
.execute();
Update with Expressions
db.updateTable("users")
.set((eb) => ({
age: eb("age", "+", 1),
last_login: new Date(),
full_name: sql`concat(first_name, ' ', last_name)`,
}))
.execute();
Update with Returning
// PostgreSQL only
const updated = await db
.updateTable("users")
.set({ status: "inactive" })
.where("last_login", "<", someDate)
.returning(["id", "email"])
.execute();
Update with Join
db.updateTable("users")
.set((eb) => ({
status: eb.ref("orders.status"),
}))
.innerJoin("orders", "orders.user_id", "users.id")
.where("orders.id", "=", orderId)
.execute();
Update with Subquery
db.updateTable("users")
.set({
rank: (eb) =>
eb
.selectFrom("rankings")
.select("rank")
.where("rankings.user_id", "=", eb.ref("users.id"))
.limit(1),
})
.execute();