php - 将旧表结构迁移到新发现的枚举不起作用

标签 php mysql

我正在使用此 alter 语句并且 NULL 值列未传输,因为“男性”仍然保持 NULL:

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

为什么它不起作用?我需要以其他方式完成吗?

最佳答案

默认值仅适用于插入新行的情况。

虽然您可以在 alter 命令之后使用单个更新命令将这些 NULL 值设置为默认行以枚举为:

UPDATE users SET gender=default where gender is NULL;

谢谢

关于php - 将旧表结构迁移到新发现的枚举不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39721299/

相关文章:

MySQL WITH ROLLUP 没有显示我所期望的内容

mysql - 在json函数mysql中转义双引号

PHP HTML MYSQL 在用户输入注册详细信息后尝试更新数据库的特定行

MySQL 根据一个表中的列值对行信息列进行分组

php - 自定义 PHP 错误处理程序是否遵循 PHP 配置?

php - 如何在 PHP 关联数组中存储键和值?

javascript - Yii2:重复相关模型中的字段

sql - MySQL COUNT(*) 结果中的最后一项?

php - 使用 PHP 从 Excel 2005 中删除工作表

php - 尽管我已将其关闭,但仍在打开安全模式