我对如何在 SQLite 中进行简单更新似乎失败感到困惑。我已经在 Firefox 中安装了 SQLite 管理器,我想在那里更新 moz_places 表,因为我们最近更改了“提供者”,而不是在 Firefox 中清除我的整个历史记录,我认为如果我可以简单地更新信息以便历史记录点会很好到新位置。
这个想法是运行这段代码:
UPDATE moz_places SET url = REPLACE(url, '.old.com/', '.new.com/')
当我按下 [Run SQL] 时,我的印象是即使 Last Error 字段显示“不是错误”,也没有任何反应。也许它只是非常快?不,当我进入数据时,我发现它没有更新任何东西,而且我的位置文件夹仍然充满了 old.com 网址。
但是,当我尝试
UPDATE moz_places SET url = REPLACE(url, '.old.com/', '.new.com/') WHERE id = 2458
它确实更新了这一记录。
天真地假设 SQLite 语法需要一个WHERE
I 然后添加
UPDATE moz_places SET url = REPLACE(url, '.old.com/', '.new.com/') WHERE id > 0
但这也没有给我任何结果。
SQLite 是否只允许单行更新?在互联网上环顾四周,我没有看到这样的限制,但否则我不确定可能是什么问题。
PS:我在 %appdata% 中找到的 /Profiles/ 文件夹的副本上执行此操作,而不是直接在“实时”版本上执行此操作。所以锁定也不应该是一个问题。