首页 > 解决方案 > 检查某个数据库条目是否已存在于 DIesel/Rust 中

问题描述

我目前正在使用 Diesel-Framework 在 Rust 中开发一个数据库。

我的任务是通过比较主键来检查表中的条目是否已经存在。

我使用 Uuid-Crate 生成主键:

let extension = ".png".to_string();
let primary_key = Uuid::parse_str(&extension).unwrap();

如果主键还不存在,我想在数据库中插入一个新条目。另一方面,如果已经存在具有相同 Uuid 的主键,我不想插入到数据库中。

现在我正在寻找一种适当的方法来管理这项任务——我考虑过使用查找功能,但我还不确定如何去做。

标签: databasepostgresqlrustrust-diesel

解决方案


如果UUID是主键,uniq constraint violation error当插入现有的 UUID 时,您的 bdd 引擎将返回 a,您可以通过在任何行上添加uniq约束来获得相同的行为。你应该看看postgres doc


推荐阅读