使用以下SQL查询来生成您需要替换所有列中的值的SQL查询。
select concat( 'UPDATE my_table SET ', column_name, ' = REPLACE(', column_name, ', ''a'', ''e'');')from information_schema.columnswhere table_name = 'my_table';执行此SQL查询后,只需运行所有查询即可替换所有值。
经过谷歌搜索未经测试
用这样的核心创建一个存储过程。它可以接受表的名称,要查找的值和要替换的值。
主要思想是使用:
- 为动态SQL执行准备的语句;
- 游标以遍历表的所有列。
请参阅下面的部分代码(未经测试)。
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;


