"Tosqlcondition" is a convenient derived macro that generates SQL query conditions, reducing the amount of manual coding required. However, it currently has limited capabilities and can only support a few features, such as WHERE and LIMIT.
table
sql
CREATE TABLE `od_commands` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` char(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`ext` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
Perhaps we want to use query commands with certain files. In Rust, we could create a struct to handle this.
```rust use tosqlcondition::ToSqlCondition;
struct Query {
id: Option
fn main() { let (q, q2, q3) = ( Query{id: None, name: Some("tom"), limit: Some(1)}, Query{id: None, name: None, limit: Some(10)}, Query{id: Some(2), name: None, limit: None}, ); asserteq!(q.tosqlcondition(), " WHERE name = 'tom' AND LIMIT 1"); asserteq!(q2.tosqlcondition(), " LIMIT 10"); asserteq!(q3.tosql_condition(), " WHERE id = 2"); } ```
order
feature