Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpDbUp 219 of 288 menu
◀ ▶

Изменение строк в Rust

Запрос изменения меняет значения в уже лежащих строках. В тексте указывают, какие столбцы перезаписать, а условие ограничивает круг строк, как при выборке.

Переименуем пользователя с заданным ключом:

use rusqlite::{Connection, params}; fn rename(id: i64, label: &str) -> Result<(), rusqlite::Error> { let conn = Connection::open("app.db")?; let changed = conn.execute( "UPDATE user SET name = ?1 WHERE id = ?2", params![label, id], )?; println!("{}", changed); Ok(()) } fn main() { match rename(1, "anna") { Ok(()) => {} Err(e) => println!("{}", e), } }

На экране число затронутых строк. Если ключа нет, число будет 0, но это не сбой библиотеки.

Несколько полей можно менять в одном запросе через запятую:

use rusqlite::{Connection, params}; fn fix_pair() -> Result<(), rusqlite::Error> { let conn = Connection::open("app.db")?; conn.execute( "UPDATE user SET name = ?1 WHERE id = ?2", params!["zoe", 2], )?; conn.execute( "UPDATE user SET name = ?1 WHERE id = ?2", params!["zack", 3], )?; Ok(()) } fn main() { match fix_pair() { Ok(()) => println!("updated"), Err(e) => println!("{}", e), } }

Дана таблица:

1 ann

Замените имя на amy для id равного 1 и выведите новое имя отдельной выборкой.

Дана таблица:

4 eve 5 fin

Поменяйте имя fin на fox и выведите fox после чтения строки.

Скажите, что означает число, которое возвращает запрос изменения.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить