SQLite で単純な更新を行うことに失敗したように見えることに混乱しています。Firefox に SQLite Manager をインストールしましたが、最近「プロバイダー」を変更したため、そこで moz_places テーブルを更新したいと考えています。新しい場所へ。
アイデアは、このコードを実行することです:
UPDATE moz_places SET url = REPLACE(url, '.old.com/', '.new.com/')
[SQL の実行] を押すと、[最後のエラー] フィールドに「エラーではありません」と表示されていても、何も起こらないような印象を受けます。多分それは単に非常に速いですか?いいえ、その後データにアクセスすると、何も更新されておらず、場所フォルダーがまだ old.com の URL でいっぱいであることがわかりました。
しかし、試してみると
UPDATE moz_places SET url = REPLACE(url, '.old.com/', '.new.com/') WHERE id = 2458
この 1 つのレコードを更新します。
SQLite 構文にはWHERE
I が必要であると素朴に仮定して、次に追加しました
UPDATE moz_places SET url = REPLACE(url, '.old.com/', '.new.com/') WHERE id > 0
しかし、それでも結果は得られませんでした。
SQLite は単一行の更新のみを許可しますか? インターネットを見回しても、そのような制限は見当たりませんが、そうでなければ何が問題なのかわかりません。
PS: 「ライブ」バージョンで直接ではなく、%appdata% で見つけた /Profiles/ フォルダーのコピーでこれを行っています。したがって、ロックも問題になりません。