将旧表结构迁移到新发现的enum不能工作


Migrating old table structure to new found enum is not working

我使用这个alter语句和NULL值列未被转移为'Male'仍然保留NULL:

alter table users modify gender ENUM('Male', 'Female') NOT NULL default 'Male';

为什么不工作?我需要用别的方法来做吗?

默认值仅在插入新行时有效。

尽管您可以在alter命令到enum之后使用单个更新命令将这些NULL值设置为默认行,如:

UPDATE users SET gender=default where gender is NULL;

谢谢