SQLite データベースの列の削除: 実践ガイド
標準の ALTER TABLE
ステートメントを使用した SQLite テーブルからの列の削除は、直接サポートされていません。 SQLite のドキュメントには、この制限が明示的に記載されています。 したがって、回避策が必要です。
推奨されるアプローチには、テーブルの再作成が含まれます。このプロセスについては以下で詳しく説明します:
一時テーブルの作成: 削除する列を省略して、目的のスキーマを使用して一時テーブルを構築します。
データの転送: 不要な列を除いて、元のテーブルから一時テーブルにデータをコピーします。
元のテーブルを削除します: 元のテーブルを削除します。
テーブルを再作成します: 更新された列構造 (削除された列は含まない) で新しいテーブルを作成します。
データの復元: 一時テーブルのデータを新しく作成したテーブルに挿入します。
一時テーブルを削除します: 最後に、一時テーブルを削除します。
このプロセスを示す SQL の例は次のとおりです。
<code class="language-sql">BEGIN TRANSACTION; CREATE TEMPORARY TABLE temp_table (a, b); INSERT INTO temp_table SELECT a, b FROM original_table; DROP TABLE original_table; CREATE TABLE original_table (a, b); INSERT INTO original_table SELECT a, b FROM temp_table; DROP TABLE temp_table; COMMIT;</code>
original_table
を実際のテーブル名に置き換え、a
、b
を保持する列の名前に置き換えることを忘れないでください。 このメソッドは、指定された列を効果的に削除しながら、データの整合性を確保します。
以上がSQLite テーブルから列を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。