diff --git a/crates/nu-command/src/database/commands/into_sqlite.rs b/crates/nu-command/src/database/commands/into_sqlite.rs index 1b4d0b8073..7f61b6bc06 100644 --- a/crates/nu-command/src/database/commands/into_sqlite.rs +++ b/crates/nu-command/src/database/commands/into_sqlite.rs @@ -269,7 +269,8 @@ fn insert_in_transaction( let insert_statement = format!( "INSERT INTO [{}] ({}) VALUES ({})", table_name, - Itertools::intersperse(val.columns().map(String::as_str), ", ").collect::(), + Itertools::intersperse(val.columns().map(|c| format!("`{}`", c)), ", ".to_string()) + .collect::(), Itertools::intersperse(itertools::repeat_n("?", val.len()), ", ").collect::(), ); @@ -390,8 +391,12 @@ fn get_columns_with_sqlite_types( let mut columns: Vec<(String, &'static str)> = vec![]; for (c, v) in record { - if !columns.iter().any(|(name, _)| name == c) { - columns.push((c.clone(), nu_value_to_sqlite_type(v)?)); + if !columns + .iter() + .map(|name| (format!("`{}`", name.0), name.1)) + .any(|(name, _)| name == *c) + { + columns.push((format!("`{}`", c), nu_value_to_sqlite_type(v)?)); } }