【问题标题】:multiple value stored in single coloumn in MySQL database?多个值存储在 MySQL 数据库的单个列中?
【发布时间】:2010-09-15 09:40:35
【问题描述】:

如何在一个属性中存储多个值。 例如: 栏目名称:电话 我想在一行的一列(电话)中存储 5,7 和 16 这三个不同的值。

【问题讨论】:

    标签: mysql database-design types data-modeling


    【解决方案1】:

    你不应该那样做。这表明数据库设计不正确。

    但如果您必须在不改变数据库设计的情况下这样做。您可以使用特殊的胶水连接所有电话号码,确保不会成为任何电话号码的一部分,例如%。因此 5、7 和 16 将全部存储在 varchar 类型的一列中,为 5%7%16,稍后您的应用程序并根据需要将它们拆分。

    【讨论】:

    • +1 指出这不应该这样做 ..但无论如何都要提供答案。
    【解决方案2】:

    您可以用“,”或“;”分隔不同的值吗? 查询内容时,只需在分隔符上拆分字符串即可....

    否则我认为这是不可能的。

    【讨论】:

      【解决方案3】:

      例如,用逗号分隔它们?请注意,不建议这样做,如果同一列需要多个值,则需要多行,或者最好是一个辅助表来保存所有电话号码。

      但是,如果该列是 VARCHAR 或其他字符串形式,您可以只执行 INSERT INTO table SET telephone = '5,7,16'。将值拆分回单独的条目更难,您通常必须在程序代码中这样做。

      【讨论】:

        猜你喜欢
        • 2012-11-26
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-21
        • 2015-02-15
        • 2012-05-21
        • 1970-01-01
        相关资源
        最近更新 更多