【问题标题】:Unknown column data type when creating table创建表时未知的列数据类型
【发布时间】:2019-03-26 04:50:49
【问题描述】:

我需要创建一个包含以下列的 MySQL 表:

id-------order_id-----service_id -------service_info

但我不知道 service_info 列中会存储什么类型的数据。它可以是日期、时间范围、电子邮件或电话号码。我该怎么做?我应该只给它varchar吗?

【问题讨论】:

  • 字符串通常是最安全的方法。您提供的所有内容都可以轻松地序列化/反序列化为字符串。
  • 是的,如果您不知道确切的类型,您应该使用文本。 但是,更好的方法可能是以某种方式将日期、电话等信息分成单独的列,然后为每个列使用更具体的数据类型。

标签: mysql database database-design relational-database


【解决方案1】:

在这种情况下我更喜欢你最好使用 varchar 类型,

【讨论】:

    【解决方案2】:

    案例 1:它只是供人类阅读的信息:VARCHARTEXT

    案例 2:结构化数据,但您不太可能需要对片段进行搜索/排序:考虑 JSON。

    案例 3:您可能会搜索/排序:为电子邮件或电话等创建单独的列,以便它们可以被索引。可能还有更多属于案例 2 的内容。例如:“当心后院的鸭子”。

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 2023-01-14
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      相关资源
      最近更新 更多