Todos os produtos
Search
Central de documentação

Lindorm:DELETE

Última atualização: Jul 15, 2026

Use a instrução DELETE para excluir linhas de uma wide table (LindormTable) ou remover séries temporais inteiras que correspondam às condições de filtro de TAG em uma tabela de séries temporais (LindormTSDB).

Engines e versões compatíveis

Engine

Requisito de versão

LindormTable

Todas as versões

LindormTSDB

3.4.19 ou posterior para exclusão de timeline

Para verificar ou atualizar a versão atual, consulte o guia de versões e as instruções de atualização de versão secundária:

Sintaxe

delete_statement ::=  DELETE FROM table_identifier
                      WHERE where_clause
where_clause     ::=  relation ( AND|OR relation )*
relation         ::=  column_name operator term
                      | '(' column_name ( ',' column_name )* ')' operator tuple_literal
operator         ::=  '=' | '<' | '>' | '<=' | '>=' | '!=' | IN | IS NOT?  NULL | LIKE

Especifique as linhas a excluir na cláusula WHERE.

Observações de uso

LindormTable

Funcionamento do DELETE

Após a execução de uma instrução DELETE, o Lindorm grava um marcador de exclusão nos dados de destino em vez de ler os dados previamente. A operação retorna sucesso independentemente da existência real da linha de destino.

Importante

Se você gravar dados com UPSERT usando um timestamp futuro como versão, uma instrução DELETE subsequente não removerá fisicamente esses dados, mesmo que a execução seja bem-sucedida. Consulte Gerenciamento de dados multiversão para obter detalhes.

Comportamento por versão

Versão

Exclusão em lote

Requisito da cláusula WHERE

Anterior à 2.7.5

Indisponível

Todas as colunas de chave primária com condições = (apenas linha única)

2.7.5 ou posterior

Exclusão em lote desativada (padrão)

Todas as colunas de chave primária com condições = (apenas linha única)

2.7.5 ou posterior

Exclusão em lote ativada

Amplo intervalo de condições de filtro, semelhante ao SELECT

Versões anteriores à 2.8.2.26 aceitam apenas exclusão de linha única. A partir da versão 2.8.2.26, a exclusão em lote está disponível, mas desativada por padrão. Para ativá-la, entre em contato com o suporte técnico do Lindorm.

Importante

Erros durante uma operação de DELETE em lote, como timeout, podem causar exclusão parcial dos dados.

LindormTSDB

O comando DELETE em uma tabela de séries temporais remove todos os dados da série temporal correspondente, e não pontos de dados individuais.

Restrições da cláusula WHERE para o LindormTSDB:

  • As condições de filtro devem aplicar-se exclusivamente a colunas TAG (tipo VARCHAR).

  • O campo column_identifier na expressão relation deve ser uma coluna VARCHAR (TAG).

  • O DELETE não permite excluir registros individuais; ele sempre remove toda a série temporal que atende à condição de filtro de TAG.

Exemplos

Os exemplos a seguir usam esta tabela:

-- Create a table named sensor.
CREATE TABLE sensor (
  p1 INTEGER NOT NULL,
  p2 INTEGER NOT NULL,
  c1 VARCHAR,
  c2 VARCHAR,
  PRIMARY KEY(p1, p2)
);

-- Insert data into the table.
UPSERT INTO sensor(p1, p2, c1, c2) VALUES (1,1,'a','a'),(2,2,'b','b'),(3,3,'c','c');

Excluir uma única linha

Especifique todas as colunas de chave primária na cláusula WHERE para excluir uma única linha.

DELETE FROM sensor WHERE p1 = 1 AND p2 = 1;

Execute SELECT * FROM sensor; para verificar o resultado:

+------+------+------+------+
| p1   | p2   | c1   | c2   |
+------+------+------+------+
|    2 |    2 | b    | b    |
|    3 |    3 | c    | c    |
+------+------+------+------+

Excluir várias linhas (exclusão em lote)

Importante

Para ativar a exclusão em lote, consulte Como ativar a exclusão em lote.

Com a exclusão em lote ativada, use uma cláusula WHERE mais abrangente para excluir múltiplas linhas simultaneamente.

DELETE FROM sensor WHERE c1 > 'b' OR p2 > 1;

Execute SELECT * FROM sensor; para confirmar que as linhas esperadas foram excluídas.