Mysql 在整个数据库中替换文本,而不指定表或列
我一直在使用以下查询替换某些数据:Mysql 在整个数据库中替换文本,而不指定表或列,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我一直在使用以下查询替换某些数据: 更新wx3_t1 SET umo=REPLACE(umo,'stringbefore','stringafter') wx3_t1=表 umo=列 我正在寻找一种跨整个数据库进行更新的方法,而无需将表或列放入查询中 只要REPLACE('stringbefore','stringafter') 我意识到这样做非常有攻击性,但也没关系。您可以创建一个简单的脚本来查询信息\u schema.COLUMNS,以按表获取所有列的列表: select TABLE_S
更新wx3_t1 SET umo=REPLACE(umo,'stringbefore','stringafter')代码>
- wx3_t1=表
- umo=列
我正在寻找一种跨整个数据库进行更新的方法,而无需将表或列放入查询中
只要REPLACE('stringbefore','stringafter')
我意识到这样做非常有攻击性,但也没关系。您可以创建一个简单的脚本来查询信息\u schema.COLUMNS,以按表获取所有列的列表:
select TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME from information_schema.COLUMNS;
然后,您必须对结果进行迭代才能执行更新查询。我认为没有一个本机查询可以做到这一点,但您可以使用phpMyAdminI手动完成。我不明白这里的问题是什么。你已经有一个查询在工作,想要一个不存在但看起来更好的解决方案?@JuanCarlosOropeza我有300个表和许多列,我想要一个积极的替换,而不是手动更改每个表和列。我只是回答了一个非常类似的问题。但是,在这种情况下,对于列只有LOOP
,对于表也需要LOOP。您是否考虑过使用动态查询(使用SELECT from information_schema获取所有列名,然后使用exec sp_executesql和参数在每个表中运行)?