【问题标题】:How do I store XML data into a mysql database? I don't want foreign keys like crazy如何将 XML 数据存储到 mysql 数据库中?我不想要外键疯狂
【发布时间】:2010-02-05 00:27:11
【问题描述】:

如果我的 XML 数据非常复杂,有没有办法可以将其存储在 DB 中?

【问题讨论】:

    标签: mysql xml database data-structures


    【解决方案1】:

    “常规”方式是将 XML 存储在 CLOB(字符大对象)中,MySQL 支持具有 4 种数据类型的 CLOB:

    • TINYTEXT - CLOB 列,最大长度为 255 (2**8 - 1) 个字符。
    • TEXT - CLOB 列,最大长度为 65,535 (2**16 - 1) 个字符。
    • MEDIUMTEXT - CLOB 列,最大长度为 16,777,215 (2**24 - 1) 个字符。
    • LONGTEXT - CLOB 列,最大长度为 4,294,967,295 或 4GB (2**32 - 1) 个字符。

    使用其中一种取决于您的需要。

    【讨论】:

      【解决方案2】:

      这完全取决于您希望数据库对 XML 做什么。

      • 如果您只想存储 XML 文档以供以后检索,只需使用 blob 或文本字段。还要检查MySQL docs
      • 如果您尝试转储/导入模型,请使用 mysqldump。
      • 如果您计划在 XML 上进行查询,您可能应该使用原生 XML 数据库,例如 eXist-db

      【讨论】:

        【解决方案3】:

        我建议使用具有原生 XML 数据类型的数据库。例如,Postgres 会这样做。如果您计划在数据库中大量使用 XML,这将使您的生活变得更加轻松。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-14
          • 1970-01-01
          • 1970-01-01
          • 2023-03-05
          • 1970-01-01
          • 2023-01-27
          • 2011-02-09
          • 1970-01-01
          相关资源
          最近更新 更多