Documentation
Delete

SQL Delete

You can delete all rows in the table

await db.delete(users);

And you can delete with filters and conditions

await db.delete(users).where(eq(users.name, 'Dan'));

Delete with return

PostgreSQL
SQLite
MySQL

You can delete a row and get it back in PostgreSQL and SQLite

const deletedUser = await db.delete(users)
  .where(eq(users.name, 'Dan'))
  .returning();
 
// partial return
const deletedUserIds: { deletedId: number }[] = await db.delete(users)
  .where(eq(users.name, 'Dan'))
  .returning({ deletedId: users.id });