Use a consulta SQL a seguir para gerar as consultas SQL necessárias para substituir um valor em todas as colunas.
select concat(
'UPDATE my_table SET ',
column_name,
' = REPLACE(', column_name, ', ''a'', ''e'');')
from information_schema.columns
where table_name = 'my_table';
Após executar esta consulta SQL, basta executar todas as consultas para substituir todos os valores.
Não testado depois de pesquisar no Google
Crie um procedimento armazenado com um núcleo como este. Ele pode aceitar o nome da tabela, o valor a ser localizado e o valor a ser substituído.
A ideia principal é usar:
- instruções preparadas para execução dinâmica de SQL;
- cursores para iterar em todas as colunas de uma tabela.
Veja o código parcial (não testado) abaixo.
DECLARE done INT DEFAULT 0;
DECLARE cur1 CURSOR FOR
SELECT column_name FROM information_schema.columns
WHERE table_name = 'my_table';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
REPEAT
SET s = concat(
'UPDATE my_table SET ',
column_name,
' = REPLACE(', column_name, ', ''a'', ''e'');');
PREPARE stmt2 FROM s;
EXECUTE stmt2;
FETCH cur1 INTO a;
UNTIL done END REPEAT;
CLOSE cur1;