# `exec_drop` and `query_drop` If you want to pass parameters, use `exec_drop`, else `query_drop`. Use the `_drop` versions if you don't want to use the returned value. ```rust use mysql::*; use mysql::prelude::*; fn main() -> std::result::Result<(),Box> { let url = "mysql://mrflibble:hexvision@localhost/fileindex"; let pool = Pool::new(url)?; let mut conn = pool.get_conn()?; println!("Connected"); // Note query_drop, not query. // If query, then there is a value returned, // and Rust can't infer the type of it, // so conn.query(..) or conn.exec(..) // will give an error. conn.query_drop( r"DROP TABLE IF EXISTS hello;" ); conn.query_drop( r"CREATE TABLE hello ( id INTEGER AUTO_INCREMENT PRIMARY KEY, val INTEGER NOT NULL )")?; for n in 1..10 { conn.exec_drop(r"INSERT INTO hello (val) VALUES (:n)", params! { "n" => n as i32}); } Ok(()) } ```