テーブルを変更して新しい列を追加すると、そのテーブルから消去されるデータが追加されます。
ALTER TABLE MyTable ADD COLUMN noOfDays integer default 0 NOT NULL
上記の SQL コマンドは MyTable を削除してから、noOfDays 列でそれを ALTER しますか、それとも単に noOfDays 列を削除せずに追加しますか。
テーブルを変更して新しい列を追加すると、そのテーブルから消去されるデータが追加されます。
ALTER TABLE MyTable ADD COLUMN noOfDays integer default 0 NOT NULL
上記の SQL コマンドは MyTable を削除してから、noOfDays 列でそれを ALTER しますか、それとも単に noOfDays 列を削除せずに追加しますか。
いいえ、add
列を追加するだけです。そのデータは削除されず、テーブルもドロップされません。
ドキュメントの ps
「注意: CHECK 制約を追加する場合、CHECK 制約はテーブルの既存の行に対してテストされないことにも注意してください。」(詳細については、 SQLiteのマニュアルを参照してください)