Update Row

The Update Row action step allows you to update a row or multiple rows in a table by a given condition.

To run this action, you need to specify the filter condition to find the row to update, for example:

// id = 23
{{ui.table.updatedRow.data.id}}

And you also need to specify the values to update. You can do this in the following ways:

  • Update values field by field:

// name = 'John'
{{ui.table.updatedRow.data.name}}
  • Switch to JS mode (JS button) and send the updated values as an object:

{{ui.table.updatedRow.data}}

or:

{
  name: "John",
  age: 30
}

This object will be sent to the server and converted to an UPDATE statement, for example:

UPDATE users SET name = 'John', age = 30 WHERE id = 23

You can check the action's Payload tab to see the actual object sent to the server.

Unset fields will be presented as undefined and will NOT be used in the UPDATE statement:

{
  id: 23,
  created_at: "2022-10-21",
  // this value will not be sent to the server
  required_at: undefined,
}

You can always adjust the data before sending it.

Examples

Adding additional values

const values = {{ui.form.value}};

return {
  ...values,
  updated_at: new Date(),
}

Changing values

const values = {{ui.form.value}};
return {
  ...values,
  name: values.name.toUpperCase(),
}

Deleting unnecessary values

const values = {{ui.form.value}};
delete values.age;
return values;

or:

const values = {{ui.form.value}};
const { updated_at, ...rest } = values;
return rest;

Joining array values

const values = {{ui.form.value}};
return {
  ...values,
  tags: values.tags.join(','),
}

Using default values

const values = {{ui.form.value}};
return {
  ...values,
  // if the value is not set, use the default value
  created_at: values.created_at || new Date(),
}

Additional settings

If you need to update multiple rows, you can select the Bulk Update checkbox in the action's settings.

Last updated

Was this helpful?