数千行のテーブルがあります。テーブルは最初に created_at 列を使用して構築されていなかったため、作成タイムスタンプを取得する方法がありません。ただし、将来の行のタイムスタンプを取得することは非常に重要です。
デフォルト値 NOW() を持つタイムスタンプ列を追加して、前の行に値が入力されず、将来の行にのみ値が入力されるようにする方法はありますか?
クエリを実行するとALTER
、すべての行にタイムスタンプが設定されます。
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
ベストアンサー1
デフォルトで の列を追加しnull
、次に列のデフォルトを に変更する必要がありますnow()
。
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP;
ALTER TABLE mytable ALTER COLUMN created_at SET DEFAULT now();