栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL ENUM类型与联接表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL ENUM类型与联接表

  • 更改ENUM中的值集需要使用

    ALTER TABLE
    ,这可能会导致表重组-一项非常昂贵的操作(如果仅在ENUM定义的末尾添加一个新值,但如果删除一个新值,则不会发生表重组。 ,或更改顺序,它会进行表重组)。而更改查找表中的值集就像INSERT或DELETE一样简单。

  • 无法将其他属性与ENUM中的值相关联,例如哪些属性将被淘汰,哪些属性有资格放入用户界面的下拉列表中。但是,查找表可以包含此类属性的其他列。

  • 查询ENUM以获取不同值的列表非常困难,基本上需要您从查询数据类型定义

    INFORMATION_SCHEMA
    ,并从返回的BLOB中解析该列表。您可以
    SELECT DISTINCT status
    从表中尝试,但是只能获取当前正在使用的状态值,该值可能不是ENUM中的所有值。但是,如果将值保留在查找表中,则很容易查询,排序等。

如您所知,我不是ENUM的忠实拥护者。:-)

CHECK约束也是如此,该约束只将列与一组固定值进行比较。尽管MySQL仍然不支持CHECK约束。

更新:MySQL 8.0.16现在实现了CHECK约束。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411610.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号