手动键入查询时,无法更改MySQL中枚举字段的值

手动键入查询时,无法更改MySQL中枚举字段的值,mysql,enums,Mysql,Enums,我在MySQL表中有一个名为site\u status的enum列: 根据我的理解,更新此类字段的值与更改varchar或int或任何其他字段的值完全相同 唯一的“限制”是,作为一个值,我显然必须从预定义的值中设置一个,因为这是enum类型的本质。对吧? 因此,我想将站点的状态从实时更改为免费: I类型: update db_name.db_table set site_status = 'FREE' where site_id = 501; 很容易查询。不幸的是,他什么也不做。它也不会产生

我在MySQL表中有一个名为
site\u status
enum
列:

根据我的理解,更新此类字段的值与更改
varchar
int
或任何其他字段的值完全相同

唯一的“限制”是,作为一个值,我显然必须从预定义的值中设置一个,因为这是
enum
类型的本质。对吧?

因此,我想将
站点的状态从
实时
更改为
免费

I类型:

update db_name.db_table set site_status = 'FREE' where site_id = 501;
很容易查询。不幸的是,他什么也不做。它也不会产生任何错误。简单地说:

0行受影响


我做错了什么?当我在Sequel Pro中通过GUI手动单击时,该值将更改为
FREE
,没有任何问题。我看到一个下拉列表,我从中选择了另一个选项。

如果你为
站点id
选择*
会发生什么?我得到一个典型的单行
站点id
等于
501
比如:
从db\u name.db\u表中选择*,其中站点id=501所以select语句没有问题。而且
枚举
值还不等于您设置的值?是的@slick我注意到它删除了我的评论。很抱歉。我想知道是谁给了-1,因为这个问题是以一种非常清晰的方式形成的…奇怪的问题,所以我问了这么多社区…