@mikra: Good idea, I could fix the query builder to support this [1]. But it
does only work for `INSERT` \- so I'm still missing for `UPDATE`.
@mashingan: I don't think I get it. How do I append the `NULL` value?
**[1]**
# discard insertID(db, sqlInsert(db, "myTable", ["name", "age"]), "John",
50)
proc sqlInsert*(table: string, data: varargs[string]): SqlQuery =
var fields = "INSERT INTO " & table & " ("
var vals = ""
for i, d in data:
if i > 0:
fields.add(", ")
vals.add(", ")
fields.add(d)
vals.add('?')
result = sql(fields & ") VALUES (" & vals & ")")
Run
**[2]**
# exec(db, sqlUpdate(db, "myTable", ["age"], ["name"]), nil, "John")
proc sqlUpdate*(table: string, data: varargs[string], where:
varargs[string]): SqlQuery =
var fields = "UPDATE " & table & " SET "
for i, d in data:
if i > 0:
fields.add(", ")
fields.add(d & " = ?")
var wes = " WHERE "
for i, d in where:
if i > 0:
wes.add(" AND ")
wes.add(d & " = ?")
result = sql(fields & wes)
Run