Mysql 将更改应用于列的默认值

Mysql 将更改应用于列的默认值,mysql,Mysql,最近,我通过向数据类型为datetime的列添加默认值,对列应用了更改。但它不适用于已经存在的列。我遗漏了什么吗?它不会以这种方式工作,因为在您更改列的默认值时,您的记录已经存在。要更改它们,请使用UPDATE,如: UPDATE t SET col='new_default_value' 默认值是在未设置相应列值的情况下应用于新创建的行的值。alter table ROOMES modify column timedate default now();更新房间设置timedate=now()

最近,我通过向数据类型为datetime的列添加默认值,对列应用了更改。但它不适用于已经存在的列。我遗漏了什么吗?

它不会以这种方式工作,因为在您更改列的默认值时,您的记录已经存在。要更改它们,请使用
UPDATE
,如:

UPDATE t SET col='new_default_value'

默认值是在未设置相应列值的情况下应用于新创建的行的值。

alter table ROOMES modify column timedate default now();更新房间设置timedate=now(),其中timedate=null;为什么这个不起作用呢?因为
=null
没有意义(你不能在等式上比较“某个值”和“无值”)。在timedate为空的情况下使用