回答:
デフォルトので列を追加してから、列をデフォルトにnull
変更する必要がありますnow()
。
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP;
ALTER TABLE mytable ALTER COLUMN created_at SET DEFAULT now();
デフォルトのルールを変更テーブルで追加できます。
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
次に、現在存在するすべての行をすぐにnullに設定します。
UPDATE mytable SET created_at = NULL
その後、この時点からDEFAULT
有効になります。
UPDATE
必要ありません。デフォルトの列を既存の列に追加しても、既存の行は影響を受けません。デフォルトは、同じコマンドで列とデフォルトを追加した場合にのみ入力されます。
たとえば、次のようなテーブルを作成し、デフォルト値users
という名前date
の列を指定しますNOW()
create table users_parent (
user_id varchar(50),
full_name varchar(240),
login_id_1 varchar(50),
date timestamp NOT NULL DEFAULT NOW()
);
ありがとう
次のようなものを試してください:-
ALTER TABLE table_name ADD CONSTRAINT [DF_table_name_Created]
DEFAULT (getdate()) FOR [created_at];
table_name
テーブルの名前に置き換えます。