sqlite
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
sqlite [2022/02/12 03:57] – nullpon | sqlite [2022/07/31 11:32] (現在) – nullpon | ||
---|---|---|---|
行 40: | 行 40: | ||
``` | ``` | ||
- | ### スキーマ | + | ### テーブル一覧 |
+ | |||
+ | ``` | ||
+ | .tables | ||
+ | ``` | ||
+ | |||
+ | ### スキーマ確認 | ||
``` | ``` | ||
行 51: | 行 57: | ||
.backup [DB_NAME] FILE_NAME | .backup [DB_NAME] FILE_NAME | ||
``` | ``` | ||
- | </ | ||
+ | |||
+ | ## tips | ||
+ | |||
+ | ### 改行コードについて | ||
+ | |||
+ | `\n` は改行コードとして扱われない。`\n` が入ってしまった場合は以下のSQLで修正 | ||
+ | |||
+ | ```sql | ||
+ | update < | ||
+ | ``` | ||
+ | |||
+ | ## エラー対応 | ||
+ | |||
+ | ### エラーログにdatabase disk image is malformedと出た | ||
+ | |||
+ | コマンドラインでSQLiteに入り、以下を実行 | ||
+ | |||
+ | ``` | ||
+ | sqlite> pragma integrity_check; | ||
+ | Page 538 is never used | ||
+ | row 125 missing from index hoge; | ||
+ | ``` | ||
+ | |||
+ | `missing from index`に対してはreindexする | ||
+ | |||
+ | |||
+ | ``` | ||
+ | sqlite> reindex; | ||
+ | ``` | ||
+ | |||
+ | `page never used`に対してはvacuumする | ||
+ | |||
+ | ``` | ||
+ | sqlite> vacuum; | ||
+ | ``` | ||
+ | |||
+ | 再度integrity_checkしてokと出たら修復完了 | ||
+ | |||
+ | ``` | ||
+ | sqlite> pragma integrity_check; | ||
+ | ok | ||
+ | ``` | ||
+ | </ |
sqlite.1644638255.txt.gz · 最終更新: 2022/02/12 03:57 by nullpon