SQL 删除

你可以删除表中的所有行:

await db.delete(users);

并且你可以带过滤条件和约束进行删除:

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

限制

使用 .limit() 为查询添加 limit 子句 - 例如:

await db.delete(users).where(eq(users.name, 'Dan')).limit(2);
delete from `users` where `users`.`name` = 'Dan' limit 2;

排序

使用 .orderBy() 为查询添加 order by 子句,按指定字段对结果进行排序:

import { asc, desc } from 'drizzle-orm';

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

// 按多个字段排序
await db.delete(users).where(eq(users.name, 'Dan')).orderBy(users.name, users.name2);
await db.delete(users).where(eq(users.name, 'Dan')).orderBy(asc(users.name), desc(users.name2));
delete from `users` where `users`.`name` = 'Dan' order by `users`.`name`;
delete from `users` where `users`.`name` = 'Dan' order by `users`.`name` desc;

delete from `users` where `users`.`name` = 'Dan' order by `users`.`name`, `users`.`name2`;
delete from `users` where `users`.`name` = 'Dan' order by `users`.`name` asc, `users`.`name2` desc;