Copiar campos de tabelas para dentro de campos da própria tabela MySQL

Suponhamos que você tenha valores em um campo numa tabela de registros do MySQL e precise copiar os valores desses campos para outros campos nos mesmos registros. Para fazer isso com apenas uma query, você terá que fazer um SELECT… FOR UPDATE (referência).

SELECT campo1 FROM tabela FOR UPDATE;
UPDATE tabela SET tabela.campo2 = tabela.campo1;

Então:

  1. Seleciona campo1 da tabela segundo condições de seleção e etc;
  2. Update na tabela fazendo com que o campo2 seja igual ao campo1;
  3. Fim!

Achei isso relacionado à tabelas que utilizam InnoDB como sistema de dados padrão. Não sei se isso se aplica em MyISAM e outros.

comments powered by Disqus