Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在整个数据库中替换文本,而不指定表或列_Mysql_Sql_Phpmyadmin - Fatal编程技术网

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和参数在每个表中运行)?