Delete Matching Rows

BlockDatabases

Delete rows matching a query and return how many were deleted.

Inputs

DatabaseRequired

Select the database to delete rows from.

Limit

Maximum number of rows to delete (default: 100, max: 1000).

Example: 100

QueryRequired

Define filters to find the rows to delete.

Set up in the editor. The JSON format is under advanced documentation below.

Outputs

Deleted Count

The number of rows that were deleted.

Example: 5

Build a bot using blocks like Delete Matching Rows

Use this block in our visual flow editor. Bots are hosted 24/7 for free on inventor.bot.

Advanced Documentation

This documentation can be useful when using code mode. View as Markdown

ID: db_delete_matching_rows

Inputs

FieldInventScript nameValue
Databasedatabase_id
Limitlimite.g. "100"
Queryquery_jsonJSON text
query_json format: JSON text of type DatabaseQuery. Fields marked ? are optional.
type DatabaseQuery = {
	where?: FilterGroup
	sort?: SortClause[]
	limit?: number
	offset?: number
}

type FilterGroup = {
	logic: string // "and" or "or"
	conditions: FilterCondition[]
}

type FilterCondition = {
	type: string // "comparison" or "group"
	columnId?: string // comparison only
	operator?: string // comparison only: eq, neq, gt, gte, lt, lte, contains, not_contains, starts_with, ends_with, is_empty, is_not_empty
	value?: string // comparison only
	group?: FilterGroup // group only
}

type SortClause = {
	columnId: string
	direction: string // "asc", "desc" or "random"
}

Outputs

FieldInventScript nameValue
Deleted Countdeleted_counte.g. "5"

Example InventScript

matchingRows := db_delete_matching_rows(Args{database_id: "...", query_json: `...`})
send_text_message(Args{
	channel_id:      trigger.channel_id,
	message_content: "Deleted Count: " + matchingRows.deleted_count,
})

More databases blocks