func Update(exec ExecFn, record interface{}) (stdsql.Result, error) { table, err := NewTable(record) if err != nil { return nil, err } pk := table.PrimaryKeyField() if pk == nil { return nil, errors.New(fmt.Sprintf("Table '%s' (%s) doesn't have a primary-key field", table.Name, table.SQLName)) } return exec(sql.UpdateQuery(table.SQLName, pk.SQL.Name, table.SQLUpdateColumnSet()), table.SQLUpdateValueSet()...) }
func TestUpdateQuery(t *testing.T) { assert.Equal(t, sql.UpdateQuery("yolo", "id", []string{"name", "email", "age"}), "UPDATE yolo SET name=?, email=?, age=? WHERE id=?") }