delete_by_id

Function delete_by_id 

Source
pub async fn delete_by_id<'e, 'c: 'e, DB, M, E>(
    executor: E,
    id: impl for<'q> Encode<'q, DB> + Type<DB> + Send + Sync,
) -> Result<()>
where DB: Database + DatabaseInfo, for<'a> DB::Arguments<'a>: IntoArguments<'a, DB>, M: Model, E: Executor<'c, Database = DB> + Send,
Expand description

根据 ID 删除记录(泛型版本)

这是统一的泛型实现,支持所有实现了 DatabaseInfo 的数据库类型。 如果模型定义了 SOFT_DELETE_FIELD,则使用逻辑删除;否则使用物理删除。

§类型参数

  • DB - 数据库类型(如 sqlx::MySql, sqlx::Postgres, sqlx::Sqlite
  • M - 模型类型,必须实现 Model trait
  • E - 执行器类型,可以是连接池或事务

§参数

  • executor - 数据库执行器(连接池或事务)
  • id - 主键 ID 值

§返回值

删除成功返回 Ok(())

§示例

use sqlxplus::{DatabaseInfo, crud};

// MySQL
crud::delete_by_id::<sqlx::MySql, User, _>(pool, 1).await?;

// PostgreSQL
crud::delete_by_id::<sqlx::Postgres, User, _>(pool, 1).await?;

// SQLite
crud::delete_by_id::<sqlx::Sqlite, User, _>(pool, 1).await?;