如何用-n = REPLACE(n,"abc","xyz")
更新数据库所有表的所有条目?
我事先不知道数据库中有多少张表,它们的名字是什么。我也不知道每个表中有多少列,它们的名称是什么。
答案 0 :(得分:0)
在确认您确实要创建一个新数据库之后,该数据库已在语义考虑之外替换了某些字符串,您已经确认我在第一句话中已经提出的方法是您的解决方案。
>其他一些详细信息和说明:
使用.dump功能,在输出中搜索并替换(存储在文本文件中)。然后,只需从“空”数据库中读取,即可创建具有所需更改的新数据库。
可以通过调用带有不存在文件名的sqlite创建空数据库。使用.dump
格式的文件来填充该调用,将使用更改后的输入填充该新数据库。当然,.dump
的结果可以用sed
进行管道编辑,这是进行搜索和替换的一种方法。
即,正如您所评论的,sqlite3 db.sqlite .dump | sed 's|FROM|TO|g' | sqlite3 db-new.sqlite
应该可以工作,并且似乎可以解决您的问题。