mysql - 交换mysql中具有枚举数据类型的列的值

标签 mysql

我有一个表,其结构和一些值如附图所示。 字段sex是枚举类型,可能的值为“m”或“f”。我插入了一些值作为“m”和“f”。我错误地将男性值插入为 f,将女性值插入为 m。现在我该如何通过 mysql 查询更新正确的值? enter image description here enter image description here

我尝试过以下方法

UPDATE table_name SET sex='m' WHERE sex='f';

完成此操作后,所有男性值均已更新为女性,但如何将之前的女性值更改为男性?

提前致谢。

最佳答案

enum 类型足够“好”,可以让您使用空字符串作为值。您可以使用它或更改表以添加第三个枚举值,然后将其更改回来。

UPDATE table_name SET sex = '' WHERE sex = 'f';
UPDATE table_name SET sex = 'f' WHERE sex = 'm';
UPDATE table_name SET sex = 'm' WHERE sex = '';

关于mysql - 交换mysql中具有枚举数据类型的列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17026923/

相关文章:

php - 如何在 php 中从 mysql 数据库创建 JSON API 服务

mysql - 规范化、类别列表和 Codeigniter

php - echo 变量,但仅当字段不为空时

mysql - mySQL 上的非常简单的查询(初学者问题)

mysql - query_cache_size、Qcache_total_blocks 和 query_alloc_block_size

mysql - 在这种情况下,选择的排序规则重要吗?

mysql - 使用 YEAR mysql 的年龄

java - 看似简单的 Hibernate 查询需要 15-18 秒

php 安全和使用 html 链接 (GET) 标记要删除的 mysql 记录

mysql - MySQL 存储过程中的 EXECUTE 给出语法错误