0

我正在尝试将域 - domain.co.nz 替换为另一个域 - domain.com.au 我选择这可以通过update但我可以使用 * 而不是设置每个表来完成 - 我基本上想做一个查找和代替。

4

2 回答 2

0

如果要替换domain.co.nz数据库中出现的每个 ,则需要知道每个表和受影响的每个列。

最简单和最快捷的方法是转储您的数据库,在文本编辑器中查找并替换您的域,然后重新导入结果。

于 2013-10-19T21:23:29.310 回答
0

不,你不能update *(自己尝试会这么难吗?)。除了指定一个表之外,您还需要指定一个列 - 使用数据库的真正意义在于,您可以将数据存储在您知道从哪里检索/修改它的位置 - 即问题暗示了一些非常糟糕的数据库设计。

您可以从信息模式数据库中获取表及其列的列表。很有可能使用过程游标遍历所有表,并遍历每个表中的所有列以创建更新语句,然后准备/执行该语句。但是实现这一点的代码远远超出了这里的答案。

如果您能承受停机时间,zessx 的答案是最实用的解决方案。

于 2013-10-19T21:36:26.597 回答