Как читать данные из нескольких таблиц, возвращаемых MySQL, в Rust?MySql

Форум по Mysql
Ответить
Anonymous
 Как читать данные из нескольких таблиц, возвращаемых MySQL, в Rust?

Сообщение Anonymous »

Я новичок в ржавчине и в настоящее время пытаюсь запустить хранимую процедуру MySQL DB. Br /> Но когда в результате возвращаются несколько таблиц, то я сталкиваюсь с проблемами. br /> use sqlx::mysql::MySqlArguments;
use sqlx::mysql::MySqlPoolOptions;
use sqlx::mysql::MySqlRow;
use sqlx::query::Query;
use sqlx::MySql;
use sqlx::Pool;

pub async fn run_sp(
query: Query {
let pool: Pool = MySqlPoolOptions::new()
.max_connections(5)
.connect("mysql://username:password@localhost:3306/database_name")
.await
.map_err(|_| "Failed to connect to MySQL database.")?;

match query.fetch_all(&pool).await {
Ok(rows) => Ok(rows),
Err(err) => {
eprintln!("Error: {}", err);
Err("Error.")
}
}
}
< /code>
file_2.rs:
< /p>
let query_string = format!(
"CALL {}(?, ?, ?)",
sp_constants::SP_NAME
);
let query = query::(&query_string)
.bind(param_1)
.bind(param_2)
.bind(param_3);

let rows: Vec = match run_sp(query).await {
Ok(result) => result,
Err(_) => vec![],
};

Как вы можете видеть, в приведенном выше коде я настраиваю запрос в File_2.rs и возвращаю результат из File_1.rs .
В настоящее время я получаю пять таблиц в результате.

Каждая таблица имеет только одну строку, но содержит два -пять столбцов. < /p>
Как я могу прочитать данные из каждой таблицы и назначать их пяти различным переменным, чьи типы данных являются struct (ссылка. См. Scode-Snippet, указанный ниже) ?
// example snippet
#[derive(Debug, Deserialize, Serialize)]
pub struct UserDetails{
pub id: i32,
pub name: String
}

let user_details: UserDetails;


Подробнее здесь: https://stackoverflow.com/questions/793 ... ql-in-rust
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»