首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为一行插入和更新多个枚举值?

问如何为一行插入和更新多个枚举值?
EN

Stack Overflow用户
提问于 2013-06-27 22:40:59
回答 1查看 6.7K关注 0票数 4

在阅读this answer时,我猜测是否可以使用MySQL为一行插入和更新多个ENUM“选中”值。

实体示例:

代码语言:javascript
复制
TABLE
id INT auto_increment
day_list ENUM ('1','2','3,'4','5,'6','7')
gender ENUM ('m','f')

我尝试了以下方法(指定选中周末和两个性别):

代码语言:javascript
复制
INSERT INTO TABLE (day_list,gender) VALUE ('{6,7}','{m,f}')

它不会返回任何错误,并正确插入记录,但day_list和gender字段为空。

因此,它似乎不适用于mySQL。而这在phpMyAdmin (3.2.0)中似乎是不可能的,因为值是由单选按钮(而不是复选框)检查的。

你有什么办法让它工作吗?或者另一种解决方案来记录和选择那些没有LIKE请求和没有关联实体(如TABLE_DAYS和TABLE_GENDER)的选中日期?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-01 21:40:07

在MySQL中,ENUM类型字段只能接受一个值。

在phpMyAdmin中进行了一些搜索之后,看起来SET类型就可以完成这项工作。

所以实体:

代码语言:javascript
复制
TABLE
id INT auto_increment
day_list SET ('1','2','3,'4','5,'6','7')
gender SET ('m','f')

如何插入:

代码语言:javascript
复制
INSERT INTO TABLE (day_list,gender) VALUE ('6,7','m,f')

以及关于搜索值:

如果值是整数,则

  • :如果数据是有序的,则IN可以工作。如果值不是整数,则使用
  • :FIND_IN_SET是必需的,并且搜索数据不需要排序。

限制:SET类型只接受64个成员,如果需要更多的外部关联实体。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17346203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档