SQL Update
await db.update(users)
.set({ name: 'Mr. Dan' })
.where(eq(users.name, 'Dan'));The object that you pass to update should have keys that match column names in your database schema.
Values of undefined are ignored in the object: to set a column to null, pass null.
You can pass SQL as a value to be used in the update object, like this:
await db.update(users)
.set({ updatedAt: sql`NOW()` })
.where(eq(users.name, 'Dan'));Limit
Use .limit() to add limit clause to the query - for example:
await db.update(usersTable).set({ verified: true }).limit(2);update `users` set `verified` = true limit 2Order By
Use .orderBy() to add order by clause to the query, sorting the results by the specified fields:
import { asc, desc } from 'drizzle-orm';
await db.update(usersTable).set({ verified: true }).orderBy(usersTable.name);
await db.update(usersTable).set({ verified: true }).orderBy(desc(usersTable.name));
// order by multiple fields
await db.update(usersTable).set({ verified: true }).orderBy(usersTable.name, usersTable.name2);
await db.update(usersTable).set({ verified: true }).orderBy(asc(usersTable.name), desc(usersTable.name2));update `users` set `verified` = true order by `users`.`name`;
update `users` set `verified` = true order by `users`.`name` desc;
update `users` set `verified` = true order by `users`.`name`, `users`.`name2`;
update `users` set `verified` = true order by `users`.`name` asc, `users`.`name2` desc;