| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| README.md | 2026-09-10 | 31.9 kB | |
| Totals: 1 Item | 31.9 kB | 0 |
📖 English Edition Available: The English documentation is located in the second half of this page. Please scroll down to read it. (英語の取扱説明書は、このページの下半分にあります。そのまま下へスクロールしてください。)
SQLiteManager for PHP 7.4 / 8.3 (Custom Port)
⚠️ SECURITY NOTICE: This tool is designed for managed environments. NEVER install it on a public web server without proper authentication or access control.
- Feature Default (OFF): For safety reasons, specific legacy functions (e.g., eval-based features) are disabled by default via a configuration constant in the source code. You can enable them manually in your local/secure environment at your own risk.
- Status: As-Is / No Support / Issues, Tickets, and Merge Requests are disabled.
- Compatibility: PHP 7.4 / 8.3 and SQLite 3.7–3.45 (tested). SQLite 3.46+ is not officially tested but may still work.
- Language: The UI supports English and Japanese.
Status:Beta (Under Development). The source code ZIP file is coming soon.(現在開発中です。ソースコードのZIPファイルは準備が整い次第、この場所にアップロードされます)
SQLiteManager (PHP 7.4 / 8.3 対応・私的改修版)
本プロジェクトは、2010年代前半で開発が停止しているSourceForgeの「SQLiteManager 1.2.4」をベースに、現代のPHP実行環境(PHP 7.4 / 8.3、SQLite 3.7〜3.45)で動作させることを目的とした改修版です。
オリジナルのフレーム形式およびユーザーインターフェース構造を維持したまま、現代の実行環境における各種エラー(Notice、Warning、TypeError、ValueError等)を抑止し、現代の環境に適合しないレガシーな機構を排除したクリーンな改修が施されています。
なお、本改修版は、セキュリティ強化や全ての既知のバグ修正を目的としたものではありません。あくまでも私自身が利用する機能を中心に、PHP 7.4 / 8.3環境で支障なく動作するよう改修した個人的なものです。ご利用になられる方の操作手順やSQL文、データベース内容によってはエラーが出る可能性は十分にあります。
🚨 【重要】セキュリティおよび設置環境に関する警告 🚨
本ツールを、認証やアクセス制限(IP制限等)が設定されていない、第三者がアクセスできる公開領域に設置しないでください。
本ツールはデータベースの直接的な閲覧・操作を行う管理ツールです。phpMyAdmin等のデータベース管理ツールと同様に、適切なアクセス制限のないインターネット公開環境に設置した場合、重大な情報漏洩やデータの破壊のリスクに直結します。
設置する際は、ローカル環境(localhost)で利用するか、あるいはサーバー上に設置する場合でも、必ずBasic認証、IPアドレス制限、VPN等の適切なアクセス制御を施した上で、すべて利用者の自己責任においてご使用ください。
【機能の初期値(オフ)について】 オリジナル版に存在する一部の動的処理(eval等を用いた処理)については、安全のため、ソースコード内の定数設定により初期状態で「無効(オフ)」化されています。ローカル環境等の安全な環境で当該機能を利用する場合は、ソースコード内の設定を自己責任で変更してください。
【免責事項】 本ツールの利用(設置、実行、改修、公開等を含む)によって生じた、直接的・間接的な損害(データの破損、不正アクセス、サーバーの停止、その他一切の不利益)について、開発者および改修者は一切の責任を負いません。すべて利用者の自己責任(As-Is)において使用するものとします。(使用前に必ずデータベースのバックアップを取得してください。)
⚠️ 公開にあたっての基本スタンス
- 現状有姿(As-Is)での公開:バグや未実装機能を含め、現在の状態でそのまま公開されます。
- 無保証・無サポート:導入、設定、運用に関するサポートや動作保証は行っておりません。
- 要望・連絡の遮断:機能追加、バグ修正等の要望や連絡は受け付けておりません。SourceForge上のチケット機能(Tickets)、マージリクエスト(Merge Requests)、ディスカッション(Discussion)はすべて無効化されています。
📌 同梱の INSTALL ファイルについて
- ZIPアーカイブ内に同梱されている
INSTALLファイルは、2013年当時のオリジナル版(SQLiteManager 1.2.4)の仕様・動作要件が記載された歴史的資料です。 - 現在の動作要件および最新の設置手順については、
INSTALLファイルではなく本ファイル(README)の記述を参照してください。
💻 インストール方法(設置手順)
本ツールはWebインストーラー等はありません。ファイルをサーバーに配置するシンプルなスタイルです。
-
ファイルの配置 ダウンロードしたZIPファイルを解凍し、Webサーバーのドキュメントルート以下の任意のディレクトリ(例:
/htdocs/sqlitemanager/や/var/www/html/sqlitemanager/など)にすべてのファイルを配置します。 -
アクセス制限の設定(必須) 本改修版は、古い独自認証ロジックを廃止しています。ローカル環境(localhost)以外、または第三者がアクセスできる可能性のある環境に設置する場合は、必ずサーバー側で
.htaccess等を用いたBasic認証やIPアドレス制限を設定してください。 -
起動確認および言語選択 ブラウザから設置したURL(例:
http://localhost/sqlitemanager/index.php)にアクセスし、画面が表示されれば完了です。 ※言語は、メイン画面のプルダウンメニューから切り替え可能です。
🛠 主な改修内容
- PHP 8.x 対応 現代の PHP 8.x 環境でエラーを出さず快適に動作するよう、内部処理やデータベース接続ロジック(PDO)を全面的に刷新。
- PHP 8.2 / 8.3 非推奨警告(Deprecated)の解消 動的呼び出し時の非推奨警告を極力排除し、サーバーのエラーログ肥大化を防止。
- レガシー機能および外部コンポーネントの廃止(パージ)
現代の環境でセキュリティリスクやコード崩壊の温床となり得る古いライブラリ等を撤去し、シンプルかつ安全な構成へ移行。
- MySQL接続機能(type=2):サポート外とし「SQLite専用」へと一本化。
- SPAWエディタ / JSCALENDAR:動作不能なレガシーエディタ類を削除。
- プラグイン機能 / 認証機能:旧バージョンの独自プラグイン機構および簡易認証ロジックを廃止。
- CSV エクスポートの RFC 4180 準拠強化 データ先頭のダブルクォート検知バグを修正し、規格へ完全準拠。改行混在データも壊れずに正しくエクスポート可能。
- 複数文字演算子の保護
->>、->、<=などの演算子を最長一致で識別・保護し、SQLite の近代的な JSON 構文等に対応。 - テーブル構造変更(ALTER TABLE)の完全化
カラム追加・削除時の巻き込み事故を防ぐため、SQLite 公式推奨の「12ステップ
ALTER TABLE再構築プロセス」を厳密に実装。 - CSV アップロードの性能向上と堅牢化
fgetcsv()によるストリーム読み込みと100行ごとの分割トランザクションにより、大容量データもメモリ枯渇を起こさず高速処理。要素数ズレによるPDOクラッシュ防御処理を実装し、「内容を置換」処理も含め、エラー発生時は実行前の状態へ自動ロールバック。 - デバッグ機能の強化
内部の
DEBUGスイッチにより、実行された SQL クエリや処理位置の可視化を実現。 - キーボードショートカットによる操作性の近代化
テーブルのカラムソートやページネーション移動など、頻繁に行う画面操作をマウスレスで高速化する機能を追加。
※キーのバインド一覧および詳細な仕様は、プロジェクトの Wiki を参照。
※本機能の実装にあたっては、透明性と安全性の担保(キーロガー等の懸念排除)を最優先し、実績のあるオープンソースの外部ライブラリ(
shortcut.js)を改変せずそのまま同梱。 - 外部キー制約(Foreign Key)の常時有効化サポート
レガシー環境との互換性維持のため、初期状態ではSQLite標準仕様通り「無効(OFF)」とし、内部の
ALWAYS_ENABLE_FOREIGN_KEYSスイッチにより、接続時の自動有効化(ON)が可能。
📌 主な制限事項(仕様・割り切り)
本ツールは、レガシーなアーキテクチャの As-Is 維持を大前提としているため、以下の挙動は「バグ」ではなく「仕様および制限事項」として割り切って運用してください。なお、全ての制限事項を網羅しているわけではありません。私が使っている範囲内で気づいた主な機能制限です。
- 手入力SQLでの LIMIT 句指定:SQL実行時に自前で LIMIT 句を含めると、画面上のページネーション表示と件数が、実表示内容と不一致になります。ページ送りを行う場合は LIMIT 句を含めずに実行してください。
[sql-duplicate] - 1行複数文の禁止:SQLのパース(分割)は
;\nのみを基準としています。1行の中に複数のSQL文(文末セミコロン区切り)が記述されている場合、最初の1文のみが実行されます。[multi-statement] - トランザクションクエリのスキップ:手入力クエリ内に記述された
BEGIN TRANSACTIONやCOMMITは自動的にスキップされます。[skip-transaction] - 識別子(テーブル名・カラム名等)の命名制限:安全性の確保および JavaScript 連携時の動作不全を防ぐため、
check_identifierによる入力チェックを行っています。SQLite の予約語、シングル/ダブルクォート、空白文字(前後含む)を含む識別子の入力はエラーとして拒否されます。[identifier-validation] - 特殊文字のエスケープ不完全性:識別子に特殊文字(
<,>,&等)が含まれる場合、HTMLのhidden属性等を経由した画面遷移時にエスケープが不完全になる場合があります(英数字による命名を前提としています)。[escape-incomplete] - CSVエクスポート時のNULL・空文字の判別制限:CSV形式でのエクスポートは、オリジナル版の仕様を完全再現しています。そのため、CSVのフォーマット上
NULLと空文字('')の厳密な描き分けは行わず、どちらも文字を出力しない空の状態として処理されます。[csv-null-indistinguishable] - EXPLAIN QUERY PLAN実行時の表示仕様:
EXPLAIN QUERY PLANクエリ実行時は、実行計画のツリー構造を途切れさせず視認するため、ページング設定を無視して強制的に1ページに全行を表示します。[explain-no-page] - 存在しない対象へのPRAGMA実行時の制限:存在しない対象に対して
PRAGMA table_infoを実行した場合、結果解析の失敗によりFatal Errorで処理が停止します。[pragma-fatal] - 複雑なクエリ発行時のグリッドソート制限:複数の
SELECTやORDER BYを内包する複雑な手入力クエリは、簡易文字列パースの限界により、画面上でのグリッドソート(列クリックによる並び替え)に対応していません。[complex-sort] - トリガー編集画面の ON 対象初期選択制限:トリガー名にダブルクォート等が含まれている場合、編集画面において「ON対象」のセレクトボックスが初期選択状態にならない場合があります。
[trigger-select] - 独自全文検索(fulltextsearch)の機能制限:演算子
fulltextsearchは単語区切り言語(英語等)専用であり、日本語には非対応です。また、リアルタイム解析処理のため、大容量データでは処理時間が長くなる場合があります。[fts-performance-limit] - 大容量テーブルのエクスポート制限:エクスポート機能は、全対象データを一度にメモリ上に蓄積するレガシーな仕様を継続しています。PHP の
memory_limit到達によって処理が停止する場合は仕様とし、大容量データは CLI(コマンドライン)等での処理を推奨します。[large-export] - コメント削除機能のパース制限:文字列データ内に -- や /* などの記号が含まれている場合、それらもコメントとして判別され、SQL文の一部が欠落して実行エラーとなる場合があります。
[purge-comment] - クエリパースにおけるクォート不整合の制限:クエリ内のクォート(', ",
)が奇数個(閉じ忘れ等)の場合、文字境界を正しく判定できずトークン分割が意図通りに行われない場合があります。[odd-quote]` - 空白を含む予約語の単語分割制限:
TEMP ALLなどの空白を含む予約語は、システム内部の字句解析により単語ごとに強制分割されて処理されます。[token-split] - 多言語対応の制限:日本語・英語以外の言語ファイルは追加メッセージの翻訳が未対応のため、一部の表記が英語でフォールバック表示されます。運用は日本語または英語を推奨します。
[lang-limit] - 複合インデックス等の操作制限:複数カラムによる複合インデックスの管理や、既存インデックスの属性直接変更(INDEX ⇔ UNIQUE)には対応していません。変更時は DROP 後の再作成が必要です。
[complex-idx] - PRAGMA cache_size の永続化制限:
cache_sizeは接続単位のメモリ設定でありDBファイルに永続化されないため、本ツールでは表示専用とします。[cache-nonpersistent] - PRAGMA temp_store の変更制限:
temp_storeは環境やバージョンにより動作が異なるため、本ツールでは表示専用とします。[temp-store-nonmodifiable] - カラム変更時のインデックス追従制限:カラム名を変更した際、対象カラムの既存インデックスは自動更新されません。必要に応じてインデックスを手動で再作成してください。
[rename-idx] - テーブルコピー時のオブジェクト制限:テーブルコピー機能はテーブル構造とデータのみを複製します。名前の衝突を防ぐため、既存の INDEX・TRIGGER・VIEW は継承されません。
[copy-table-schema-only] - 主キー(PK)なし編集時のROWID競合制限:データ特定に
ROWIDを使用するため、SQLiteのVACUUM実行や他プロセスによるデータの追加・削除が並行した場合、対象行がズレて誤更新・誤削除が起きる場合があります。[rowid-concurrency-limit]
📄 ライセンス(License)
本改修版は、オリジナル版(SQLiteManager 1.2.4)のライセンスを継承し、GNU General Public License v2.0 (GPL-2.0) の下で公開されます。
- Original Code: Frédéric HENNINOT
- Modified by: 星列 結衣 (Yui Hoshizura / SF: yui-hoshizura)
SQLiteManager for PHP 7.4 / 8.3 (Custom Port) - English Edition
⚠️ SECURITY NOTICE: This tool is designed for managed environments. NEVER install it on a public web server without proper authentication or access control.
- Feature Default (OFF): For safety reasons, specific legacy functions (e.g., eval-based features) are disabled by default via a configuration constant in the source code. You can enable them manually in your local/secure environment at your own risk.
- Status: As-Is / No Support / Issues, Tickets, and Merge Requests are disabled.
- Compatibility: PHP 7.4 / 8.3 and SQLite 3.7–3.45 (tested). SQLite 3.46+ is not officially tested but may still work.
- Language: The UI supports English and Japanese. (You can switch languages via the dropdown menu on the main screen.)
SQLiteManager (PHP 7.4 / 8.3 Compatible - Custom Refactored Version)
This project is a refactored version based on "SQLiteManager 1.2.4," a masterpiece whose development on SourceForge stopped in the early 2010s. The objective of this project is to make it operational in modern PHP environments (PHP 7.4 / 8.3, SQLite 3.7–3.45).
While preserving the original frame structure and user interface, this version cleans up the code base by suppressing various errors (Notice, Warning, TypeError, ValueError, etc.) and removing legacy mechanisms that do not fit modern execution environments.
Please note that this modified version is not intended to strengthen overall security or fix all known bugs. It is a personal modification made primarily to ensure that the functions I use on a daily basis operate without issue under PHP 7.4 / 8.3. Depending on your specific operations, SQL queries, or database structure, you may still encounter errors.
🚨 [IMPORTANT] Security and Installation Environment Warning 🚨
NEVER install this tool in a publicly accessible directory without proper authentication or access control (such as IP restrictions).
This tool is a database management utility that allows direct viewing and manipulation of data. Just like phpMyAdmin or similar tools, exposing it to the public internet without proper restrictions poses a severe risk of data breach and destruction.
When deploying, use it exclusively within a local environment (localhost), or ensure that strict access controls (Basic Authentication, IP address filtering, VPN, etc.) are implemented on the server side. Use this tool entirely at your own risk.
[Default Settings for Specific Features]
Certain dynamic processing features from the original version (such as those using eval) are disabled (turned OFF) by default via constants in the source code for safety reasons. If you wish to use these features in a secure local environment, you may modify the source code configuration at your own risk.
[Disclaimer] The developer and modifier assume absolutely no responsibility or liability for any direct or indirect damage (including data corruption, unauthorized access, server downtime, or any other disadvantages) resulting from the use, installation, execution, modification, or distribution of this tool. It is provided entirely "As-Is." (Please ensure to back up your database before use.)
⚠️ Basic Policy for Release
- As-Is Release: The project is released in its current state, including potential bugs or unimplemented features.
- No Warranty / No Support: No support, assistance, or operational guarantees are provided for installation, configuration, or usage.
- No Feedback Requests: Requests for feature additions, bug fixes, or general inquiries are not accepted. Tickets, Merge Requests, and Discussions on SourceForge have been completely disabled.
📌 Regarding the Included INSTALL File
- The
INSTALLfile included within the ZIP archive is a historical document reflecting the specifications and operational requirements of the original version (SQLiteManager 1.2.4) from 2013. - For current system requirements and the latest installation procedures, please disregard the
INSTALLfile and refer to the instructions in this file (README) instead.
💻 Installation Method (Deployment Guide)
This tool does not feature a web-based installer. It uses a straightforward deployment method by manually uploading the files to your server.
-
File Placement Extract the downloaded ZIP archive and place all files into any directory below your web server's document root (e.g.,
/htdocs/sqlitemanager/or/var/www/html/sqlitemanager/). -
Access Control Configuration (Mandatory) This modified version completely removes the legacy built-in authentication logic. If you deploy this tool outside a local environment (
localhost) or in any environment accessible by third parties, you must configure proper server-side restrictions, such as Basic Authentication or IP address filtering via.htaccessor server configs. -
Verification and Language Selection Access the deployment URL via your browser (e.g.,
http://localhost/sqlitemanager/index.php). The installation is complete once the interface loads successfully. Note: You can switch the UI language at any time using the dropdown menu located on the main screen.
🛠 Main Modifications & Enhancements
- Full PHP 8.x Compatibility The database connection logic (PDO) and internal processes have been comprehensively overhauled to ensure smooth and comfortable operation under modern PHP 8.x environments.
- Elimination of PHP 8.2 / 8.3 Deprecation Warnings Deprecation warnings during dynamic invocations have been thoroughly eliminated, preventing server error logs from inflating.
- Removal of Legacy Features and External Components (Purging)
Obsolete libraries and features that could become breeding grounds for security risks or code decay in modern environments have been completely removed to transition into a simple and secure structure.
- MySQL Connection Feature (type=2): Dropped from support to centralize the tool exclusively as an "SQLite Dedicated Utility."
- SPAW Editor / JSCALENDAR: Defunct legacy editors and calendars have been removed.
- Plugin & Authentication Features: The proprietary plugin mechanism and simple built-in authentication logic of the old version have been decommissioned.
- Enhanced RFC 4180 Compliance for CSV Exports Fixed a bug regarding double-quote detection at the beginning of data strings, ensuring full compliance with the standard. Data containing mixed line breaks can now be exported correctly without breaking.
- Protection for Multi-Character Operators
Operators such as
->>,->, and<=are now identified and protected using longest-match logic, supporting modern SQLite syntax such as JSON extraction. - Strict Implementation of Table Schema Alterations (ALTER TABLE)
To prevent collateral data loss during column additions or deletions, the SQLite officially recommended "12-step
ALTER TABLEreconstruction process" has been strictly implemented. - Improved Performance and Robustness for CSV Uploads
Optimized utilizing
fgetcsv()stream reading and split transactions (every 100 rows) to process large datasets rapidly without causing memory exhaustion. It features built-in defensive logic to prevent PDO crashes caused by mismatched column counts. In the event of an error — including during "Replace Content" operations — the database is automatically rolled back to its exact pre-execution state. - Enhanced Debugging Functionality
An internal
DEBUGswitch has been implemented to visualize executed SQL queries and tracking positions. - Modernized Operability via Keyboard Shortcuts
Added a feature to accelerate frequent screen interactions, such as table column sorting and pagination navigation, completely mouse-free.
Note: Please refer to the project Wiki for the full keybinding list and detailed specifications.
Note: To prioritize transparency and security (eliminating concerns regarding keyloggers, etc.), a proven open-source external library (
shortcut.js) has been integrated as-is without any modifications. - Support for Persistent Foreign Key Constraints
To maintain backward compatibility with legacy environments, this feature is set to "Disabled (OFF)" by default, following standard SQLite specifications. However, automatic activation (ON) upon connection is possible via the internal
ALWAYS_ENABLE_FOREIGN_KEYSswitch.
📌 Main Limitations & Specifications
This tool is provided under the premise of maintaining a legacy architecture "As-Is." Therefore, the following behaviors are classified as "intended specifications/limitations" rather than bugs. Please note that this list does not cover all possible edge cases, but rather highlights major limitations identified during personal use.
- LIMIT Clause in Manual SQL Queries: Including a manual
LIMITclause in your SQL query will cause a mismatch between the pagination UI and the actual records displayed. Please execute queries without manualLIMITclauses when utilizing pagination.[sql-duplicate] - Multiple Statements in One Line Disallowed: SQL parsing is strictly based on
;\n. If multiple SQL statements separated by semicolons are written on a single line, only the first statement will be executed.[multi-statement] - Skipping Transaction Queries:
BEGIN TRANSACTIONandCOMMITstatements entered manually in queries are automatically skipped.[skip-transaction] - Identifier Naming Restrictions: To ensure security and prevent behavior failure during JavaScript synchronization, input validation via
check_identifieris enforced. SQLite reserved words, single/double quotes, and whitespace characters (including leading/trailing spaces) are rejected with an error.[identifier-validation] - Incomplete Special Character Escaping: If identifiers contain special characters (such as
<,>,&), escaping may be incomplete during screen transitions via HTMLhiddenattributes. It is highly recommended to name elements using alphanumeric characters only.[escape-incomplete] - CSV Export NULL vs. Empty String Limitation: The CSV export functionality perfectly reproduces the specifications of the original version. Therefore, it does not strictly differentiate between
NULLand an empty string (''); both are handled as empty fields with no character output.[csv-null-indistinguishable] - EXPLAIN QUERY PLAN Display Specification: When executing an
EXPLAIN QUERY PLANquery, pagination settings are ignored, and all rows are forcibly displayed on a single page to prevent breaking the tree structure of the execution plan and ensure full visibility.[explain-no-page] - PRAGMA Execution on Non-Existent Targets: Executing
PRAGMA table_infoon a target that does not exist will result in aFatal Errorand halt execution due to a failure in result parsing.[pragma-fatal] - Grid Sorting Limitation with Complex Queries: Complex manual queries containing multiple
SELECTorORDER BYstructures do not support column-click grid sorting due to the limitations of the simple string parser.[complex-sort] - Trigger Edit Screen Target Pre-selection Limitation: If a trigger name contains double quotes or specific special characters, the "ON Target" dropdown menu on the edit screen may fail to automatically select the current target.
[trigger-select] - Full-Text Search (fulltextsearch) Language Limitation: The built-in
fulltextsearchoperator is designed exclusively for word-separated languages (e.g., English) and does not support Japanese. Additionally, due to real-time parsing, execution times may increase significantly with large datasets.[fts-performance-limit] - Large Table Export Limitation: The export function retains the legacy specification of storing all target data in memory at once. If execution halts due to reaching the PHP
memory_limit, it is treated as a specification boundary. For large datasets, using the CLI (Command Line Interface) is highly recommended.[large-export] - Comment Stripping Parser Limitation: If data strings contain symbols like
--or/*, they may be incorrectly parsed as SQL comments, resulting in partial query truncation and execution errors.[purge-comment] - Quote Mismatch in Query Parsing: Queries containing an odd number of quotes (', ",
) due to missing closures will prevent the system from accurately determining character boundaries, leading to unexpected token splitting.[odd-quote]` - Word Splitting of Reserved Words with Spaces: Reserved words containing spaces, such as
TEMP ALL, are forcibly split into individual words by the internal lexical analyzer during processing.[token-split] - Multilingual Support Limitation: Languages other than Japanese and English are not fully updated for newly added message translations. Unsupported strings will automatically fall back to English. Usage in English or Japanese is highly recommended.
[lang-limit] - Composite Index and Attribute Management Restrictions: The system does not support managing composite indexes (multi-column) or directly modifying index attributes (e.g., switching between INDEX and UNIQUE). To apply changes, you must
DROPand recreate the index.[complex-idx] - PRAGMA cache_size Persistence Limitation: Because
cache_sizeis a connection-scoped memory configuration that does not persist within the database file, it is treated as read-only (display-only) in this tool.[cache-nonpersistent] - PRAGMA temp_store Modification Restriction: Since the behavior of
temp_storevaries depending on the environment and SQLite version, it is treated as read-only (display-only) in this tool.[temp-store-nonmodifiable] - Index Tracking Limitation on Column Renaming: When a column is renamed, any existing indexes targeting that column are not automatically updated. Please recreate the relevant indexes manually if necessary.
[rename-idx] - Object Restrictions on Table Copying: The table copy function replicates only the table schema structure and its data. To avoid naming conflicts, existing
INDEX,TRIGGER, andVIEWobjects are not inherited.[copy-table-schema-only] - ROWID Concurrency Limitation on Tables Without Primary Keys: Since
ROWIDis utilized to identify specific rows, executing an SQLiteVACUUMor having concurrent processes append/delete data may shift row positions, resulting in accidental updates or deletions of incorrect rows.[rowid-concurrency-limit]
📄 License
This modified version inherits the license of the original version (SQLiteManager 1.2.4) and is distributed under the GNU General Public License v2.0 (GPL-2.0).
- Original Code: Frédéric HENNINOT
- Modified by: 星列 結衣 (Yui Hoshizura / SF: yui-hoshizura)