Rust: MariaDB のデータを削除 (Delete)


フォルダー構造

$ tree -L 2
.
├── Cargo.lock
├── Cargo.toml
├── src
│   ├── main.rs
│   └── utils.rs
└── target
    └── debug
Cargo.toml
[package]
name = "delete"
version = "0.1.0"
edition = "2018"

#

[dependencies]
diesel = { version = "*", features = ["mysql"] }
chrono = "0.4"
src/main.rs
// --------------------------------------------------------------------
/*
    delete/src/main.rs

                    Jul/17/2020
*/
// --------------------------------------------------------------------
use std::env;
use crate::utils::establish_connection;
use diesel::mysql::MysqlConnection;
use diesel::prelude::*;

mod utils;

// --------------------------------------------------------------------
fn simple_sql(key_in:&str) {
    let connection: MysqlConnection = establish_connection();

    let sql_str = "delete FROM cities where id = '".to_owned()
     + key_in + "'";

    println! ("{}",sql_str);

    connection.execute(&sql_str).unwrap();
}

// --------------------------------------------------------------------
fn main (){
    eprintln! ("*** start ***");

    let args: Vec<_> = env::args().collect();
    let key_in = &args[1];
    println! ("{}",key_in);
    simple_sql(key_in);

    eprintln! ("*** end ***");
}

// --------------------------------------------------------------------

src/utils.rs は、こちらのものと同じ
Rust: MariaDB のデータを読む (Read)

実行

cargo run t3324