在我的rust代码中使用diesel时,每次我使用带有绑定参数的sql_query时,也就是说我们使用问号放置参数时,我都会得到这个错误,"输入结束时的语法错误";,无论我使用client_name(varchar(还是id(int(进行筛选。
let a = sql_query("SELECT * FROM client WHERE client_name= ?").bind::<Varchar, _>("a");
println!("query: {}", diesel::debug_query::<diesel::pg::Pg, _>(&a).to_string());
let b = a.get_results::<Client>(&connection);
println!("{:?}", b);
给出:
query:SELECT*FROM client WHERE client_name=?--绑定:["a"]错误(数据库错误(__Unknown,"输入末尾的语法错误"(
正如#eggyal所指出的,在pg中,我们应该始终使用$n作为占位符。