1. ホーム
  2. sqlite

[解決済み] sqliteのテーブルに新しいカラムを挿入しますか?

2022-03-24 23:04:14

質問

列を持つテーブルがあります。 name , qty , rate . ここで、新しいカラムを追加する必要があります。 COLNew の間にある nameqty カラムになります。2つのカラムの間に新しいカラムを追加するにはどうすればよいですか?

どのように解決するのですか?

2つの選択肢があります。 まず、単純に以下のように新しいカラムを追加する方法です。

ALTER TABLE {tableName} ADD COLUMN COLNew {type};

2つ目は、より複雑ですが、実際にカラムを必要な場所に配置するために、テーブルの名前を変更することです。

ALTER TABLE {tableName} RENAME TO TempOldTable;

次に、足りないカラムを含む新しいテーブルを作成します。

CREATE TABLE {tableName} (name TEXT, COLNew {type} DEFAULT {defaultValue}, qty INTEGER, rate REAL);

そして、古いデータを投入する。

INSERT INTO {tableName} (name, qty, rate) SELECT name, qty, rate FROM TempOldTable;

そして、古いテーブルを削除します。

DROP TABLE TempOldTable;

必要であれば、すべての名前を完全に変更することができるので、2番目のオプションの方がはるかに好ましいと思います。