SQLite:使用相同(绝对)REPLACE函数更新所有表的所有行/列

时间:2020-02-17 17:59:00

标签: sqlite replace

如何用-n = REPLACE(n,"abc","xyz")更新数据库所有表的所有条目? 我事先不知道数据库中有多少张表,它们的名字是什么。我也不知道每个表中有多少列,它们的名称是什么。

1 个答案:

答案 0 :(得分:0)

在确认您确实要创建一个新数据库之后,该数据库已在语义考虑之外替换了某些字符串,您已经确认我在第一句话中已经提出的方法是您的解决方案。

>

其他一些详细信息和说明:

使用.dump功能,在输出中搜索并替换(存储在文本文件中)。然后,只需从“空”数据库中读取,即可创建具有所需更改的新数据库。

可以通过调用带有不存在文件名的sqlite创建空数据库。使用.dump格式的文件来填充该调用,将使用更改后的输入填充该新数据库。当然,.dump的结果可以用sed进行管道编辑,这是进行搜索和替换的一种方法。

即,正如您所评论的,sqlite3 db.sqlite .dump | sed 's|FROM|TO|g' | sqlite3 db-new.sqlite应该可以工作,并且似乎可以解决您的问题。