1
我用这alter
声明和NULL
值列不转移为“男”仍然NULL
:迁移旧表结构,新发现的枚举不工作
alter table users modify gender ENUM('Male', 'Female') NOT NULL default 'Male';
为什么不工作?我需要以其他方式做到吗?
我用这alter
声明和NULL
值列不转移为“男”仍然NULL
:迁移旧表结构,新发现的枚举不工作
alter table users modify gender ENUM('Male', 'Female') NOT NULL default 'Male';
为什么不工作?我需要以其他方式做到吗?
默认值仅适用于插入新行的情况。
虽然可以将这些NULL值设置为默认使用单个更新命令alter命令后,枚举行为:
UPDATE users SET gender=default where gender is NULL;
感谢
您可以尝试IFNULL()这里的[文档]( http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html) –
对于select语句就足够了,但我正在寻找不会将单列作为null的全迁移Daniel 。对我来说这是非常有用的建议,如果我不知道我会去找这个解决方案 – Ramdrupal7
添加一个新列,使用适当的UPDATE语句填充所需值,删除旧列,重命名新列。 – CBroe