我是 Rust 的新手,正在尝试使用 sqlx 和 PostgresQL 实现 API。在阅读有关 PostgresQL 的信息时,它似乎不像u64
MySQL 那样支持 . 因此,我已将代码更改为i64
,如此处所述。
然而,我的一些代码似乎仍然需要一个u64
值:
代码示例:
pub async fn drop_table(&self) -> Result<i64, sqlx::Error> {
sqlx::query("DROP TABLE IF EXISTS users;")
.execute(&*self.pool)
.await
}
它产生的错误:
error[E0308]: mismatched types
--> src\dao\user_dao.rs:7:9
|
7 | / sqlx::query("DROP TABLE IF EXISTS users;")
8 | | .execute(&*self.pool)
9 | | .await
| |__________________^ expected `i64`, found `u64`
|
= note: expected enum `std::result::Result<i64, _>`
found enum `std::result::Result<u64, _>`
我可能可以强制转换变量,但这可能会在运行时导致恐慌,那么处理它的正确方法是什么?
我已将此用作参考应用程序。