例えばこんなテーブルがあって、
updated_at
を既存レコード分はregistered_at
の値で追加したい時。
ALTER TABLE
にそんな機能があるかなと探したがなさげ。
ここに素晴らしいアイディアが書いてありました。
Add not null DateTime column to SQLite without default value?
この回答では既存テーブルの最後にカラムを追加する形でINSERT INTO
にはSELECT *
を使ってますが、SELECT句
をちゃんと指定すれば、どこだって構わない。
ALTER TABLE ADD COLUMN
すると、.schema t_member
でDDLを表示したとき改行が入らずフォーマットが崩れるのだけど、CREATE TABLE
し直すこの方法だとそっちも綺麗に表示されてナイス。