1pub fn bulk_insert_sql(
12 table: impl Into<String>,
13 columns: Vec<impl Into<String>>,
14 values: Vec<impl Into<String>>,
15 item_count: usize,
16) -> String {
17 let table = table.into();
18 let columns = columns
19 .into_iter()
20 .map(|a| a.into())
21 .collect::<Vec<String>>();
22 let values = values
23 .into_iter()
24 .map(|s| s.into())
25 .collect::<Vec<String>>();
26 let column_sql: String = columns.join(", ");
27
28 let mut sql = format!("INSERT INTO {} ({}) VALUES ", table, column_sql);
29 for i in 0..item_count {
30 let value_sql: String = values.clone().join(", ");
31 sql.push_str(format!("({})", value_sql).as_str());
32 if i < item_count - 1 {
33 sql.push_str(", ");
34 }
35 }
36 sql
37}