我得到了std::result::Result<Row, sqlx::Error>
的结果,我想检查是否找到了行。正确的代码:
let sql = "select id,name from tablename LIMIT 0";
let r = sqlx::query_as::<_, Person>(sql).fetch_one(&pool).await;
if let Err(err) = r {
match err {
sqlx::Error::RowNotFound => println!("Not Found!!!"),
_ => (),
}
}
右侧1:
if let Err(err) = r {
if let sqlx::Error::RowNotFound = err {
println!("Not Found!!!");
}
}
右路2:
r.map_err(|err| if let sqlx::Error::RowNotFound = err {
println!("Not Found!!!");
});
有更简单的方法吗?
您也可以这样匹配:
match r {
Err(sqlx::Error::RowNotFound) => println!("Not Found!!!"),
_ => (),
}
你也可以看看比赛后卫