[解決済み] [Solved] SQLiteデータベースのテーブルのカラム名を変更するには?
質問
SQLiteデータベースのいくつかのテーブルで、いくつかのカラムの名前を変更する必要があります。 私は 類題 は以前stackoverflowで質問されたことがありますが、それはSQL全般に関するもので、SQLiteのケースは言及されていませんでした。
のSQLiteのドキュメントから ALTER TABLE このようなことは簡単にはできないようです(つまり、1つのALTER TABLE文)。
SQLiteでそのようなことをする一般的なSQLの方法を知っている人がいるのかと思っていました。
どのように解決するのですか?
で修正したところです。 2018-09-15 (3.25.0)
<ブロッククオート
を強化しました。
ALTER TABLE
コマンドを使用します。
-
を使用して、テーブル内のカラム名を変更できるようにした。
ALTER TABLE
テーブルRENAME COLUMN oldname TO newname
. - テーブル名の変更機能を修正し、トリガーとビューで変更されたテーブルへの参照も更新されるようにしました。
新しい構文については、以下のドキュメントを参照してください。
ALTER TABLE
は
RENAME COLUMN TO
構文は、テーブル table-name の column-name を new-column-name に変更します。列名は、テーブル定義自体、および、その列を参照する全てのインデックス、トリガ、ビューの両方で変更されます。もし、列名の変更がトリガやビューの中で意味的にあいまいになるのであれば、その時はRENAME COLUMN
はエラーとなり、変更は適用されません。
画像の出典はこちら https://www.sqlite.org/images/syntax/alter-table-stmt.gif
例
CREATE TABLE tab AS SELECT 1 AS c;
SELECT * FROM tab;
ALTER TABLE tab RENAME COLUMN c to c_new;
SELECT * FROM tab;
Android対応
執筆時点では AndroidのAPI 27は、SQLiteパッケージのバージョン3.19を使用しています。 .
Android が現在使用しているバージョンと、このアップデートが SQLite のバージョン 3.25.0 で行われることから、このサポートが Android に追加されるまでには、少し時間がかかると思われます(API 33 程度)。
また、その場合でも、API 33より古いバージョンに対応する必要がある場合は、これを使用することはできません。
関連
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] カラムの変更:NULLをNOT NULLに変更する
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] SQLiteでテーブルが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] カラム名の変更 SQL Server 2008
-
[解決済み] SQL Serverでテーブルの名前を変更する方法は?
-
[解決済み] sqliteのテーブルに新しいカラムを挿入しますか?
-
[解決済み】SQLiteデータベースのロックを解除する方法は?
-
[解決済み】SQLiteクエリで使用するためのシングルクォート文字のエスケープ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] .SQLiteファイルの開き方
-
[解決済み】SQLiteにブーリアン値を格納する
-
[解決済み】INSERT IF NOT EXISTS ELSE UPDATE?
-
[解決済み】SQLiteでテーブルが存在しない場合のみ、テーブルを作成する。
-
[解決済み] [Solved] SQLiteデータベースのテーブルのカラム名を変更するには?
-
[解決済み】SQLITEでカラムを削除・追加する方法とは?
-
[解決済み】SQLiteデータベースファイルの拡張子は関係ありますか?
-
[解決済み】ストアドプロシージャの作成とSQLite?
-
[解決済み】SQLiteクエリで使用するためのシングルクォート文字のエスケープ
-
[解決済み】SQLiteでテーブルの構造を見るにはどうしたらいいですか?重複