【问题标题】:Does domain in text data type is stored as text in a table? (PostgreSQL)文本数据类型的域是否存储为表中的文本? (PostgreSQL)
【发布时间】:2013-11-30 00:42:07
【问题描述】:

因为 PostgreSQL 中没有 set 类型,所以我不得不使用 domain。我已经命名了一个域性别。它是文本类型。然后在用户表中,我创建了一个具有该性别类型的列。现在,如何将性别存储在 users 表中?作为文本还是二进制?

【问题讨论】:

  • enumerated types,听起来这就是你要找的。您的域是什么样的?
  • @muistooshort,起初它有malefemale,但现在它还包括not applicableenum 是否允许同时存储 malefemale,如果允许,那么它可能不太合适。我可能会坚持ISO/IEC 5218
  • 拥有一个单独的跨性别价值观不是更有意义,而不是试图声称某人同时是男性和女性吗?如果您需要单个值提供的更多灵活性,则可以使用数组和其他非域自定义类型。也许您需要稍微充实一下您的问题,以便我们确切地知道您要做什么。
  • 在几乎所有情况下,最好使用适当的 1:n 关系而不是枚举

标签: postgresql sql-domain


【解决方案1】:

域类型始终基于一些基本的“内置”类型。此类型指定二进制格式。因此,如果您的域基于“文本”类型,那么您将数据存储为文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2011-05-24
    • 1970-01-01
    • 2019-04-17
    • 2017-05-23
    • 2018-03-24
    • 1970-01-01
    相关资源
    最近更新 更多