update method

QueryBuilder update({
  1. required String tableName,
  2. required List<String> columns,
  3. required List values,
})

Update given table columns

throw error when columns and values don't match

Implementation

QueryBuilder update({
  required String tableName,
  required List<String> columns,
  required List<dynamic> values,
}) {
  values = values.map<dynamic>((e) {
    if (_isNum(e)) {
      return e;
    }
    return '\'$e\'';
  }).toList();
  if (columns.length != values.length) {
    throw Exception('Columns and Values don\'t match.');
  }
  var data = values.mapIndexed((index, element) {
    if (_isNum(element)) {
      return '${columns[index]} = $element';
    }
    return '${columns[index]} = $element';
  }).toList();

  return add('UPDATE $tableName SET ${data.join(', ')}');
}