从 utf8mb3 升级到 utf8mb4 后 ENUM 列变为可为 null 的问题
最近将 MySQL 数据库的字符集从 utf8mb3 升级到 utf8mb4。一个表列被定义为 ENUM('saved', 'updated', 'deleted') NOT NULL DEFAULT 'saved'。
但是,在执行字符集升级后,注意到列定义意外更改为 ENUM('saved', 'updated', 'deleted') DEFAULT NULL,使其可为空,默认值为 NULL。
它应保留 not null 并默认为saved的