My environment
Mysql 8.0.25
What I want to do
I want to use alter column
clause to set default value for my datetime column
Mysql 8 document says that after set default
comes literal
or expression
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
...
| ALTER [COLUMN] col_name {
SET DEFAULT {literal | (expr)}
| SET {VISIBLE | INVISIBLE}
| DROP DEFAULT
}
What I tried
so I did below things but none of them was successful.
alter table my_table alter column my_datetime_column set default CURRENT_TIMESTAMP();
alter table my_table alter column my_datetime_column set default NOW();
alter table my_table alter column my_datetime_column set default CURRENT_TIMESTAMP;
alter table my_table alter column my_datetime_column set default NOW;
The question
I know I can set default by change column
clause. but why not with alter column
?
Is there something I got wrong about the documentation?