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