updateValues method

Future<QueryResult> updateValues(
  1. Object table, {
  2. required Iterable<Object> columns,
  3. required Iterable values,
  4. required Where where,
  5. Returning? returning,
})

Implementation

Future<QueryResult> updateValues(Object table,
    {required Iterable<Object> columns, required Iterable<dynamic> values, required Where where, Returning? returning}) async {
  assert(columns.isNotEmpty && columns.length == values.length);

  SpaceBuffer buf = SpaceBuffer("UPDATE");
  buf << _tableNameOf(table).escapeSQL;
  buf << "SET";
  buf << columns.map((e) => "${_columnNameOf(e)}=?").join(", ");
  buf << "WHERE";
  buf << where.sql;
  var argList = <dynamic>[...values, ...(where.args)];
  if (returning != null) {
    buf << returning.clause;
  }
  return await execute(buf.toString(), argList);
}