Проверьте, существует ли определенная запись базы данных в DIesel / Rust - PullRequest
1 голос
/ 04 октября 2019

В настоящее время я разрабатываю базу данных в Rust с использованием Diesel-Framework.

Моя задача - проверить, существует ли уже запись в таблице, сравнивая первичный ключ.

Imгенерация первичного ключа с использованием Uuid-Crate:

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

Если первичный ключ еще не существует, я хочу вставить новую запись в базу данных. С другой стороны, если первичный ключ уже существует с тем же Uuid, я не хочу вставлять его в базу данных.

Теперь я ищу правильный способ управления этой задачей - я подумал об использовании команды find-функция, но я не уверен, как это сделать.

1 Ответ

0 голосов
/ 04 октября 2019

В случае, если UUID является первичным ключом, ваш движок bdd вернет uniq constraint violation error при вставке уже существующего UUID, вы можете получить такое же поведение в любой строке, добавив к ней ограничение uniq. Вы должны взглянуть на postgres doc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...