我有20个表,每个表都有20列。所有列的类型均为varchar。我想在MySQL中使用replace()
和trim()
。像这样:
UPDATE table1 SET col1 = TRIM(REPLACE(`col1`, 'x', 'y' ));
现在,我正在寻找一种通用的方法。实际上,我无法对所有表和列使用上述查询(20 * 20 = 400次)。是否可以将上述查询扩展为所有表和列?
换句话说,如何使用
*
将所有列选择到trim()
或replace()
中? 最佳答案
这是一个开始。 MySQL不是我的专长,但总体思路应该可行。
select
concat(
'update ', table_name, ' set ',
group_concat(
concat( column_name, ' = trim(replace(', column_name, ', ''x'', ''y''))' )
)
)
from information_schema.columns
group by table_name
关于mysql - 如何针对多个表和列扩展使用trim()和replace(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31028533/