ロゴ メインコンテンツへ
RSSフィード
「Web 開発」に関連する記事一覧

[SQLite] 既存テーブルに後から主キーを追加する

2018/11/01 21:00
(この記事の文字数: 264)

SQLite で主キーのない既存テーブルに後から主キーを追加することができないか模索していたところ、以下の手順でできたのでメモしておきます。

  1. テンポラリでテーブルを作り、元のテーブルのデータをすべてコピー
  2. 元のテーブルを削除
  3. 主キーありで元のテーブルと同じ名前のテーブルを作成
  4. テンポラリテーブルから主キー以外のカラムをすべてコピー
  5. テンポラリテーブルを削除

以下は、name, english_name というカラムを持っている original_table というテーブルに id という主キーを追加する例です。追加した主キーには整数値が振られます。


CREATE TABLE 'temp_table' (
    'name', 'english_name'
);

INSERT INTO 'temp_table'
SELECT "name", "english_name" FROM 'original_table';

DROP TABLE 'original_table';
CREATE TABLE 'original_table' (
    'id' integer primary key,
    'name'  NOT NULL,
    'english_name'  NOT NULL);

INSERT INTO 'original_table'("name", "english_name")
SELECT "name", "english_name" FROM 'temp_table';

DROP TABLE 'temp_table';


  このエントリーをはてなブックマークに追加  

<<「Web 開発」の記事一覧に戻る

コメント(0 件)



コンテンツロード: 0.0072 sec
Copyright(C)2006-2024 puarts All Rights Reserved