Todos os produtos
Search
Central de documentação

AnalyticDB:REPLACE SELECT FROM

Última atualização: Jun 27, 2026

O comando REPLACE SELECT FROM copia registros de uma tabela (ou visualize) para outra em tempo real. Para cada registro, o sistema verifica se a chave primária já existe na tabela de destino. Em caso afirmativo, exclua o registro existente e insere o novo. Caso contrário, insere o registro diretamente.

Funcionamento

Para cada registro copiado, o AnalyticDB for MySQL executa as seguintes etapas:

  1. Tenta inserir o registro na tabela de destino.

  2. Se houver conflito de chave primária, exclua o registro conflitante.

  3. Insere o novo registro.

Quando usar o REPLACE SELECT FROM

Use o REPLACE SELECT FROM quando precisar sobrescrever registros existentes com base na correspondência de chaves primárias — por exemplo, ao atualizar uma tabela de resumo com novos dados da source.

Sintaxe

REPLACE INTO table_name
[(column_name, ...)]
query;

Parâmetros

Parâmetro

Descrição

table_name

Nome da tabela de destino. A tabela deve existir antes da execução do comando.

column_name

(Opcional) Colunas que receberão os dados copiados. Se especificadas, as colunas na cláusula SELECT devem corresponder às listadas, na mesma ordem e com tipos de dados compatíveis.

query

Instrução SELECT FROM TABLE ou SELECT FROM VIEW que define os registros a copiar.

Pré-requisitos

  • A tabela de destino existe.

Exemplo

Copie três colunas da tabela customer para a tabela new_customer, sobrescrevendo qualquer registro existente com chave primária correspondente.

REPLACE INTO new_customer (customer_id, customer_name, phone_num)
  SELECT customer_id, customer_name, phone_num FROM customer
  WHERE customer.customer_name = 'Alan';